template<typename CT, unsigned RANK>
struct qmcplusplus::h5data_proxy< hyperslab_proxy< CT, RANK > >
Definition at line 155 of file hdf_hyperslab.h.
bool read |
( |
data_type & |
ref, |
|
|
hid_t |
grp, |
|
|
const std::string & |
aname, |
|
|
hid_t |
xfer_plist = H5P_DEFAULT |
|
) |
| |
|
inline |
Definition at line 161 of file hdf_hyperslab.h.
References hyperslab_proxy< CT, RANK >::adaptShape(), hyperslab_proxy< CT, RANK >::checkContainerCapacity(), hyperslab_proxy< CT, RANK >::checkUserRankSizes(), h5_space_type< T, RANK >::dims, hyperslab_proxy< CT, RANK >::file_space, h5_space_type< element_type, RANK >::get_address(), qmcplusplus::h5d_read(), h5_space_type< T, RANK >::rank, hyperslab_proxy< CT, RANK >::ref_, hyperslab_proxy< CT, RANK >::selected_space, hyperslab_proxy< CT, RANK >::slab_offset, and hyperslab_proxy< CT, RANK >::slab_rank.
163 std::vector<hsize_t> sizes_file;
164 getDataShape<typename data_type::element_type>(grp, aname, sizes_file);
165 ref.adaptShape(sizes_file);
166 ref.checkUserRankSizes();
167 if (!ref.checkContainerCapacity())
169 return h5d_read(grp, aname.c_str(), ref.file_space.rank, ref.file_space.dims, ref.selected_space.dims,
170 ref.slab_offset.data(),
static void resize(CT &ref, I *n, int d)
resize container
static auto get_address(element_type *a)
return the address
bool h5d_read(hid_t grp, const std::string &aname, T *first, hid_t xfer_plist)
return true, if successful
static auto getElementPtr(CT &ref)
get the linear storage pointer of a container