Simple read/write operations of an array (or a view)ΒΆ
Given an array (or an array_view), the functions h5::write and h5::read write and read it to/from the file or any subgroup thereof. For example:
#include <triqs/arrays.hpp>
using triqs::arrays::array;
using triqs::arrays::matrix;
int main() {
array<double, 2> A(2, 2);
A() = 3; // declare and init
h5::file file("store_A.h5", 'w'); // open the file
h5_write(file, "A", A); // write the array as 'A' into the file
// array<double,2> B; // read the file into B
matrix<double> B; // read the file into B
h5_read(file, "A", B);
std::cout << "B = " << B << std::endl;
h5_write(file, "B", B);
}
Note that:
- The data in the hdf5 file are stored in C order.
- The data is reordered in Fortran (or custom) order if necessary when reading/writing.
- It also works with matrix and vector (but the storage is the same in HDF5).
- It also works with the corresponding views. TO BE ILLUSTRATED.