TRIQS/h5 1.3.0
C++ interface to HDF5
Loading...
Searching...
No Matches
format.hpp File Reference
#include "./macros.hpp"
#include "./group.hpp"
#include "./stl/string.hpp"
#include <complex>
#include <string>

Detailed Description

Provides utilities for reading and writing hdf5_format tags.

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:

  • implement a static member function static hdf5_format() -> std::string or
  • specialize the hdf5_format_impl struct for T and provide an implementation for the member static invoke() -> std::string.

Definition in file format.hpp.

Go to the source code of this file.

Classes

struct  h5::hdf5_format_impl< T >
 Default type trait to get the hdf5_format tag of type T by calling its static member function T::hdf5_format(). More...
 
struct  h5::hdf5_format_impl< bool >
 Specialization of h5::hdf5_format_impl for bool. More...
 
struct  h5::hdf5_format_impl< double >
 Specialization of h5::hdf5_format_impl for double. More...
 
struct  h5::hdf5_format_impl< float >
 Specialization of h5::hdf5_format_impl for float. More...
 
struct  h5::hdf5_format_impl< int >
 Specialization of h5::hdf5_format_impl for int. More...
 
struct  h5::hdf5_format_impl< long >
 Specialization of h5::hdf5_format_impl for long. More...
 
struct  h5::hdf5_format_impl< long double >
 Specialization of h5::hdf5_format_impl for long double. More...
 
struct  h5::hdf5_format_impl< long long >
 Specialization of h5::hdf5_format_impl for long long. More...
 
struct  h5::hdf5_format_impl< std::complex< double > >
 Specialization of h5::hdf5_format_impl for std::complex<double>. More...
 
struct  h5::hdf5_format_impl< unsigned int >
 Specialization of h5::hdf5_format_impl for unsigned int. More...
 
struct  h5::hdf5_format_impl< unsigned long >
 Specialization of h5::hdf5_format_impl for unsigned long. More...
 
struct  h5::hdf5_format_impl< unsigned long long >
 Specialization of h5::hdf5_format_impl for unsigned long long. More...
 

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'.