QMCPACK
h5data_proxy< double_hyperslab_proxy< CT, MAXDIM > > Struct Template Reference
+ Collaboration diagram for h5data_proxy< double_hyperslab_proxy< CT, MAXDIM > >:

Public Member Functions

 h5data_proxy (double_hyperslab_proxy< CT, MAXDIM > &a)
 
bool read (data_type &ref, hid_t grp, const std::string &aname, hid_t xfer_plist=H5P_DEFAULT)
 
bool write (const data_type &ref, hid_t grp, const std::string &aname, hid_t xfer_plist=H5P_DEFAULT)
 

Public Attributes

double_hyperslab_proxy< CT, MAXDIM > & ref
 

Detailed Description

template<typename CT, unsigned MAXDIM>
struct qmcplusplus::h5data_proxy< double_hyperslab_proxy< CT, MAXDIM > >

Definition at line 107 of file hdf_double_hyperslab.h.

Constructor & Destructor Documentation

◆ h5data_proxy()

h5data_proxy ( double_hyperslab_proxy< CT, MAXDIM > &  a)
inline

Definition at line 110 of file hdf_double_hyperslab.h.

110 {}

Member Function Documentation

◆ read()

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

Definition at line 111 of file hdf_double_hyperslab.h.

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

112  {
113  if (ref.use_slab)
114  {
115  return h5d_read(grp, aname.c_str(), ref.slab_rank, ref.slab_dims.data(), ref.slab_dims_local.data(),
116  ref.slab_offset.data(), ref.mem_rank, ref.mem_dims.data(), ref.mem_dims_local.data(),
117  ref.mem_offset.data(), ref.data(), xfer_plist);
118  }
119  else
120  {
121  int rank = ref.slab_rank;
122  if (!get_space(grp, aname, rank, ref.slab_dims.data(), true))
123  {
124  ref.change_shape();
125  }
126  return h5d_read(grp, aname, ref.data(), xfer_plist);
127  }
128  }
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 
)
inline

Definition at line 129 of file hdf_double_hyperslab.h.

References qmcplusplus::h5d_write().

130  {
131  if (ref.use_slab)
132  {
133  return h5d_write(grp, aname.c_str(), ref.slab_rank, ref.slab_dims.data(), ref.slab_dims_local.data(),
134  ref.slab_offset.data(), ref.mem_rank, ref.mem_dims.data(), ref.mem_dims_local.data(),
135  ref.mem_offset.data(), ref.data(), xfer_plist);
136  }
137  else
138  {
139  return h5d_write(grp, aname.c_str(), ref.slab_rank, ref.slab_dims.data(), ref.data(), xfer_plist);
140  }
141  }
bool h5d_write(hid_t grp, const std::string &aname, hsize_t ndims, const hsize_t *dims, const T *first, hid_t xfer_plist)

Member Data Documentation

◆ ref

double_hyperslab_proxy<CT, MAXDIM>& ref

Definition at line 109 of file hdf_double_hyperslab.h.


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