H5CPP  v1.14.0
Modern C++ templates for HDF5 serial and parallel I/O
Loading...
Searching...
No Matches
Property Lists

HDF5 property lists control fine-grained behaviour for file, dataset, group, attribute, link, and data-transfer operations. h5cpp exposes one typed wrapper per HDF5 property-list class (h5::fapl_t, h5::fcpl_t, h5::dapl_t, h5::dcpl_t, h5::dxpl_t, h5::lcpl_t, etc.); each follows the same RAII contract as the object handles (RAII Handles).

All property-list arguments are optional. Omitting them uses the h5::default_*pl constants which all evaluate to H5P_DEFAULT, so the underlying HDF5 call resolves to its baseline behaviour:

h5::fd_t fd = h5::create("file.h5", H5F_ACC_TRUNC);
// uses default_fcpl + default_fapl
h5::fd_t fd = h5::create("file.h5", H5F_ACC_TRUNC,
h5::fcpl_t{...}, h5::fapl_t{...});
// explicit FCPL + FAPL
h5::at_t create(const hid_t &parent, const std::string &path, args_t &&... args)
Create a new attribute of element type T on a parent HDF5 object.
Definition H5Acreate.hpp:100
T aread(const hid_t &ds, const std::string &name, const h5::acpl_t &acpl=h5::default_acpl)
Read an attribute by name and return its value as type T.
Definition H5Aread.hpp:76

Property lists compose via operator|: each setter (e.g. h5::chunk{...}, h5::gzip{4}, h5::threads{8}) returns a *pl wrapper that can be OR-ed into a base list. The full catalog of all 16 property-list wrappers — plus their default_* constants and which HDF5 property-list class they cover — is in Handles, Descriptors & Property Lists.

See also: Handles, Descriptors & Property Lists, RAII Handles