Luc Grosheintz

Results 129 issues of Luc Grosheintz

The commit removes the requirement for a constexpr rank. Instead containers need a minimum and maximum constexpr rank. The difficulties are: * Empty arrays can't figure out their runtime rank....

v3

HighFive has a feature that allows reading an array with leading (or trailing) singleton dimensions into an array with lower dimension, i.e. if the selection is `{1, 3}` we can...

v3

There's a trait to hide the difference between attributes and datasets. Once: https://github.com/BlueBrain/HighFive/blob/acf0fea662e69ff8928f055b11183c7a8811fa0e/tests/unit/tests_high_five_base.cpp#L2078 Twice: https://github.com/BlueBrain/HighFive/blob/acf0fea662e69ff8928f055b11183c7a8811fa0e/tests/unit/tests_high_five_base.cpp#L2949 Place them in a separate header and remove one of the copies.

testing

BufferInfo seems to know "stuff" about the buffers used. I'd like to see if it can be removed. For example the datatype of the intermediate buffer (if any) should be...

https://github.com/BlueBrain/HighFive/blob/76382329c47c94924eb97a2100a0116494456bee/include/highfive/H5File.hpp#L28-L45 and then here: https://github.com/BlueBrain/HighFive/blob/76382329c47c94924eb97a2100a0116494456bee/include/highfive/H5File.hpp#L54-L56 isn't particularly type safe. One option is: ``` class File { enum class FileMode { ReadOnly, }; static constexpr ReadOnly = FileMode::ReadOnly; }; ``` and...

v3

Check if it's `` or ``. On Archlinux it's installed at `/usr/include/half/half.hpp` (suggesting the latter).

The unit-tests don't build with `-DHIGHFIVE_USE_HALF_FLOAT=On`. The tasks are to: * fix the tests, via #871. * ensure half-float is tested during CI.

I suspect that it might be good to review what happens after an error in HDF5. The concern is that HDF5 will print it's diagnostic messages to stdout even if...

Something is preventing `boost::numeric::ublas::matrix` from compiling. The tasks are: 1. Figure out why, since it's annoying during CI. 2. Try to use `static_assert` to improve the error message.

Headers currently follow the pattern: ``` // file: H5*.hpp // A carefully curated list of HighFive includes. namespace HighFive { // declarations. } // All definitions go here: #include "bits/H5*_misc.hpp"...

v3