detail Namespace Reference#

DiFfRG: DiFfRG::hdf5::detail Namespace Reference
DiFfRG
DiFfRG::hdf5::detail Namespace Reference

Functions

std::vector< const char * > pack_strings (const std::string *src, std::size_t n)
 
void read_vlen_strings (hid_t dset, hid_t, hid_t, hid_t mem_type, std::string *dst, std::size_t n)
 

Function Documentation

◆ pack_strings()

std::vector< const char * > DiFfRG::hdf5::detail::pack_strings ( const std::string * src,
std::size_t n )
inline

Pack a contiguous span of std::string into the C array-of-cstr form HDF5 expects for variable-length string writes.

◆ read_vlen_strings()

void DiFfRG::hdf5::detail::read_vlen_strings ( hid_t dset,
hid_t ,
hid_t ,
hid_t mem_type,
std::string * dst,
std::size_t n )
inline

Read variable-length strings into a span. The HDF5 library allocates a fresh C string per element; we copy into std::strings and reclaim. dset is the dataset id; we always pass H5S_ALL for both memory and file selection but build an explicit dataspace describing the memory buffer for H5Treclaim (which rejects H5S_ALL).