TRIQS/nda 1.3.0
Multi-dimensional array library for C++
|
#include "./concepts.hpp"
#include "./declarations.hpp"
#include "./exceptions.hpp"
#include "./layout/for_each.hpp"
#include "./layout/range.hpp"
#include "./traits.hpp"
#include <h5/h5.hpp>
#include <algorithm>
#include <array>
#include <concepts>
#include <cstddef>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>
Provides HDF5 support for the nda library.
Definition in file h5.hpp.
Go to the source code of this file.
Functions | |
template<MemoryArray A, typename... IRs> | |
void | nda::h5_read (h5::group g, std::string const &name, A &a, std::tuple< IRs... > const &slice={}) |
Read into an nda::MemoryArray from an HDF5 file. | |
template<MemoryArray A> | |
void | nda::h5_write (h5::group g, std::string const &name, A const &a, bool compress=true) |
Write an nda::MemoryArray to a new dataset/subgroup into an HDF5 file. | |
template<MemoryArray A, typename... IRs> | |
void | nda::h5_write (h5::group g, std::string const &name, A const &a, std::tuple< IRs... > const &slice) |
Write an nda::MemoryArray into a slice (hyperslab) of an existing dataset in an HDF5 file. | |
template<size_t NDim, typename... IRs> | |
auto | nda::hyperslab_and_shape_from_slice (std::tuple< IRs... > const &slice, std::vector< h5::hsize_t > const &ds_shape, bool is_complex) |
Construct an h5::array_interface::hyperslab and the corresponding shape from a given slice, i.e. a tuple containing integer, nda::range , nda::range::all_t and nda::ellipsis objects. | |