TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
h5.hpp File Reference
#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>

Detailed Description

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.