QMCPACK
h5data_proxy< T > Struct Template Reference

generic h5data_proxy<T> for scalar basic datatypes defined in hdf_dataspace.h Note if the dataset to be written has const specifier, T should not carry const. More...

+ Inheritance diagram for h5data_proxy< T >:
+ Collaboration diagram for h5data_proxy< T >:

Public Types

using data_type = T
 
using FileSpace = h5_space_type< T, 0 >
 

Public Member Functions

 h5data_proxy (const data_type &a)
 
bool read (data_type &ref, hid_t grp, const std::string &aname, hid_t xfer_plist=H5P_DEFAULT)
 
bool check_existence (hid_t grp, const std::string &aname)
 
bool check_type (hid_t grp, const std::string &aname)
 
bool write (const data_type &ref, hid_t grp, const std::string &aname, hid_t xfer_plist=H5P_DEFAULT) const
 

Additional Inherited Members

- Static Public Member Functions inherited from h5_space_type< T, 0 >
static constexpr int added_rank ()
 new rank added due to T More...
 
static auto get_address (T *a)
 return the address More...
 
static auto get_address (const T *a)
 
- Public Attributes inherited from h5_space_type< T, 0 >
hsize_t dims [RANK > 0 ? RANK :1]
 shape of the dataspace, protected for zero size array, hdf5 support scalar as rank = 0 More...
 
- Static Public Attributes inherited from h5_space_type< T, 0 >
static constexpr hsize_t rank
 rank of the multidimensional dataspace More...
 

Detailed Description

template<typename T>
struct qmcplusplus::h5data_proxy< T >

generic h5data_proxy<T> for scalar basic datatypes defined in hdf_dataspace.h Note if the dataset to be written has const specifier, T should not carry const.

Definition at line 29 of file hdf_dataproxy.h.

Member Typedef Documentation

◆ data_type

using data_type = T

Definition at line 31 of file hdf_dataproxy.h.

◆ FileSpace

using FileSpace = h5_space_type<T, 0>

Definition at line 32 of file hdf_dataproxy.h.

Constructor & Destructor Documentation

◆ h5data_proxy()

h5data_proxy ( const data_type a)
inline

Definition at line 36 of file hdf_dataproxy.h.

36 {}

Member Function Documentation

◆ check_existence()

bool check_existence ( hid_t  grp,
const std::string &  aname 
)
inline

Definition at line 43 of file hdf_dataproxy.h.

References qmcplusplus::h5d_check_existence().

43 { return h5d_check_existence(grp, aname); }
bool h5d_check_existence(hid_t grp, const std::string &aname)

◆ check_type()

bool check_type ( hid_t  grp,
const std::string &  aname 
)
inline

Definition at line 45 of file hdf_dataproxy.h.

45 { return h5d_check_type<data_type>(grp, aname); }

◆ read()

bool read ( data_type ref,
hid_t  grp,
const std::string &  aname,
hid_t  xfer_plist = H5P_DEFAULT 
)
inline

Definition at line 38 of file hdf_dataproxy.h.

References h5_space_type< T, 0 >::get_address(), and qmcplusplus::h5d_read().

Referenced by HDFVersion::read(), h5data_proxy< std::bitset< N > >::read(), and h5data_proxy< HDFVersion >::read().

39  {
40  return h5d_read(grp, aname, get_address(&ref), xfer_plist);
41  }
static auto get_address(T *a)
return the address
Definition: hdf_dataspace.h:53
bool h5d_read(hid_t grp, const std::string &aname, T *first, hid_t xfer_plist)
return true, if successful

◆ write()

bool write ( const data_type ref,
hid_t  grp,
const std::string &  aname,
hid_t  xfer_plist = H5P_DEFAULT 
) const
inline

Definition at line 47 of file hdf_dataproxy.h.

References h5_space_type< T, 0 >::dims, h5_space_type< T, 0 >::get_address(), qmcplusplus::h5d_write(), and h5_space_type< T, 0 >::rank.

Referenced by HDFVersion::write(), h5data_proxy< HDFVersion >::write(), and h5data_proxy< std::bitset< N > >::write().

48  {
49  return h5d_write(grp, aname.c_str(), FileSpace::rank, dims, get_address(&ref), xfer_plist);
50  }
hsize_t dims[RANK > 0 ? RANK :1]
shape of the dataspace, protected for zero size array, hdf5 support scalar as rank = 0 ...
Definition: hdf_dataspace.h:47
static auto get_address(T *a)
return the address
Definition: hdf_dataspace.h:53
static constexpr hsize_t rank
rank of the multidimensional dataspace
Definition: hdf_dataspace.h:49
bool h5d_write(hid_t grp, const std::string &aname, hsize_t ndims, const hsize_t *dims, const T *first, hid_t xfer_plist)

The documentation for this struct was generated from the following file: