Luc Grosheintz
Luc Grosheintz
Adds support for `xt::xtensor`, both row and column major. We're missing `xt::xarray` and views. Views fail because they claim to have runtime variable rank.
One example is: https://github.com/BlueBrain/HighFive/blob/f169f384040b8c69397d2f514d53aa47e0786eea/include/highfive/bits/H5Path_traits.hpp#L28 The issue is that we can't check if the object is valid before returning the file, because if we raise an exception, we'd terminate the program....
XTensor support various memory layouts. H5Easy implements XTensor support as follows: ``` template struct io_impl { ... inline static DataSet dump(File& file, const std::string& path, const T& data, const DumpOptions&...
HighFive needlessly assumes that every container has a default constructor. It happens here: https://github.com/BlueBrain/HighFive/blob/94ede4f756f2d1ba77296f0f25d22142e8567e0e/include/highfive/bits/H5Slice_traits_misc.hpp#L161-L162 and here (`resize` isn't safe to use): https://github.com/BlueBrain/HighFive/blob/94ede4f756f2d1ba77296f0f25d22142e8567e0e/include/highfive/bits/H5Inspector_misc.hpp#L326
We should improve the docs to publish docs for each version; and the current main branch.
There's some outstanding modernization in H5Easy, see #897 for some discussion. My preferred solution would be to completely move all logic out of H5Easy and have it act as a...
This issue collects the features that we would like HighFive to have, but we can only do so by breaking API or build-systems. It is also an invitation for feedback...
Arrays do not need to have a compile-time constant number of dimensions (rank). There's two compile-time constant variable: https://github.com/BlueBrain/HighFive/blob/1299c556a992bea8aa03c3b75cca50560a5078b6/include/highfive/bits/H5Inspector_misc.hpp#L165-L166 It's uses seems to be mostly for input validation https://github.com/search?q=repo%3ABlueBrain%2FHighFive%20recursive_ndim&type=code Here...