TRIQS/h5 1.3.0
C++ interface to HDF5
|
Specialized functions to read/write hdf5_format
tags from/to HDF5 attributes.
An hdf5_format
tag is a string that describes the type of object stored in an HDF5 file. A type T
which is HDF5 readable/writeable should do one of the following:
static hdf5_format() -> std::string
orhdf5_format_impl
struct for T
and provide an implementation for the member static invoke() -> std::string
.The specialized h5_write
function for type T
should write the format tag to file (see h5::write_hdf5_format and h5::write_hdf5_format_as_string) and the h5_read
function should check that the format tag is correct (see h5::assert_hdf5_format and h5::assert_hdf5_format_as_string).
Functions | |
template<typename T > | |
void | h5::assert_hdf5_format (group g, T const &, bool ignore_if_absent=false) |
Assert that the hdf5_format tag attached to the given group is the same as the hdf5_format tag of the type T using template argument deduction. | |
void | h5::assert_hdf5_format_as_string (group g, const char *tag_expected, bool ignore_if_absent=false) |
Assert that the hdf5_format tag attached to the given group is the same as the given tag. | |
template<typename T > | |
std::string | h5::get_hdf5_format () |
Get the hdf5_format tag of type T . | |
template<typename T > | |
std::string | h5::get_hdf5_format (T const &) |
Get the hdf5_format tag of type T using template argument deduction. | |
std::string | h5::read_hdf5_format (group g) |
Read an hdf5_format tag from an HDF5 attribute with the name 'Format' attached to a given h5::group. | |
void | h5::read_hdf5_format (object obj, std::string &s) |
Read an hdf5_format tag from an HDF5 attribute with the name 'Format'. | |
void | h5::read_hdf5_format_from_key (group g, std::string const &key, std::string &s) |
Read an hdf5_format tag from an HDF5 attribute with the name 'Format'. | |
template<typename T > | |
void | h5::write_hdf5_format (object obj, T const &) |
Write an hdf5_format tag for type T to an HDF5 attribute with the name 'Format' using template argument deduction. | |
void | h5::write_hdf5_format_as_string (object obj, std::string const &s) |
Write a std::string to an HDF5 attribute with the name 'Format'. | |
void h5::assert_hdf5_format | ( | group | g, |
T const & | , | ||
bool | ignore_if_absent = false ) |
#include <h5/format.hpp>
Assert that the hdf5_format
tag attached to the given group is the same as the hdf5_format
tag of the type T
using template argument deduction.
Throws a std::runtime_error if the tags don't match.
T | Type for which the hdf5_format tag is to be checked. |
g | h5::group to be checked. |
ignore_if_absent | If true, the assertion is ignored if the group does not have a 'Format' attribute. |
Definition at line 164 of file format.hpp.
void h5::assert_hdf5_format_as_string | ( | group | g, |
const char * | tag_expected, | ||
bool | ignore_if_absent = false ) |
#include <h5/format.cpp>
Assert that the hdf5_format
tag attached to the given group is the same as the given tag.
Throws a std::runtime_error if the tags don't match.
g | h5::group to be checked. |
tag_expected | Expected hdf5_format tag. |
ignore_if_absent | If true, the assertion is ignored if the group does not have a 'Format' attribute. |
Definition at line 52 of file format.cpp.
std::string h5::get_hdf5_format | ( | ) |
#include <h5/format.hpp>
Get the hdf5_format
tag of type T
.
T | Type for which the hdf5_format tag is to be retrieved.. |
hdf5_format
tag. Definition at line 82 of file format.hpp.
std::string h5::get_hdf5_format | ( | T const & | ) |
#include <h5/format.hpp>
Get the hdf5_format
tag of type T
using template argument deduction.
T | Type for which the hdf5_format tag is to be retrieved.. |
hdf5_format
tag. Definition at line 93 of file format.hpp.
std::string h5::read_hdf5_format | ( | group | g | ) |
#include <h5/format.cpp>
Read an hdf5_format
tag from an HDF5 attribute with the name 'Format' attached to a given h5::group.
g | h5::group from which the attribute is read. |
hdf5_format
tag. Definition at line 39 of file format.cpp.
void h5::read_hdf5_format | ( | object | obj, |
std::string & | s ) |
#include <h5/format.cpp>
Read an hdf5_format
tag from an HDF5 attribute with the name 'Format'.
obj | h5::object from which the attribute is read. |
s | String to be read into. |
Definition at line 32 of file format.cpp.
void h5::read_hdf5_format_from_key | ( | group | g, |
std::string const & | key, | ||
std::string & | s ) |
#include <h5/format.cpp>
Read an hdf5_format
tag from an HDF5 attribute with the name 'Format'.
g | h5::group containing the HDF5 object from which the attribute is read. |
key | Name of the object. |
s | String to be read into. |
Definition at line 45 of file format.cpp.
|
inline |
#include <h5/format.hpp>
Write an hdf5_format
tag for type T
to an HDF5 attribute with the name 'Format' using template argument deduction.
T | Type for which the hdf5_format tag is to be written. |
obj | h5::object to which the attribute is attached. |
Definition at line 113 of file format.hpp.
|
inline |
#include <h5/format.hpp>
Write a std::string to an HDF5 attribute with the name 'Format'.
obj | h5::object to which the attribute is attached. |
s | String to be written. |
Definition at line 103 of file format.hpp.