Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2026-07-28 The HDF5 Field Guide

Loading...
Searching...
No Matches
DataSet Class Reference

`#include <c++/src/H5DataSet.h>`

## Detailed Description

Class DataSet operates on HDF5 datasets.

An datasets has many characteristics similar to an attribute, thus both Attribute and DataSet are derivatives of AbstractDs. DataSet also inherits from H5Object because a dataset is an HDF5 object.

Inheritance diagram for DataSet:

## Public Member Functions
virtual void | close () override
| Closes this dataset.
| DataSet ()
| Default constructor: creates a stub DataSet.
| DataSet (const Attribute &attr, const void *ref, H5R_type_t ref_type=H5R_OBJECT, const PropList &plist=PropList::DEFAULT)
| Given a reference, ref, to an hdf5 attribute, creates a DataSet object.
| DataSet (const DataSet &original)
| Copy constructor: same HDF5 object as original.
| DataSet (const H5Location &loc, const void *ref, H5R_type_t ref_type=H5R_OBJECT, const PropList &plist=PropList::DEFAULT)
| Given a reference, ref, to an hdf5 location, creates a DataSet object.
| DataSet (const hid_t existing_id)
| Creates an DataSet object using the id of an existing dataset.
void | extend (const hsize_t *size) const
| Extends a dataset with unlimited dimension.
void | fillMemBuf (const void *fill, const DataType &fill_type, void *buf, const DataType &buf_type, const DataSpace &space) const
| Fills a selection in memory with a value.
void | fillMemBuf (void *buf, const DataType &buf_type, const DataSpace &space) const
| Fills a selection in memory with 0.
virtual std::string | fromClass () const override
| Returns this class name.
DSetAccPropList | getAccessPlist () const
| Gets the dataset access property list.
DSetCreatPropList | getCreatePlist () const
| Gets the dataset creation property list.
virtual hid_t | getId () const override
| Get the id of this dataset.
virtual size_t | getInMemDataSize () const override
| Gets the size in memory of the dataset's data.
haddr_t | getOffset () const
| Returns the address of this dataset in the file.
virtual DataSpace | getSpace () const override
| Gets a copy of the dataspace of this dataset.
void | getSpaceStatus (H5D_space_status_t &status) const
| Determines whether space has been allocated for a dataset.
virtual hsize_t | getStorageSize () const override
| Returns the amount of storage required for a dataset.
hsize_t | getVlenBufSize (const DataType &type, const DataSpace &space) const
| Returns the number of bytes required to store VL data.
int | iterateElems (void *buf, const DataType &type, const DataSpace &space, H5D_operator_t op, void *op_data=NULL)
| Iterates over all selected elements in a dataspace.
DataSet & | operator= (const DataSet &original)
| Assignment operator: same HDF5 object as original.
void | read (std::string &buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It takes a reference to a `H5std_string` for the buffer.
void | read (void *buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
| Reads raw data from the specified dataset.
void | write (const std::string &buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It takes a reference to a `H5std_string` for the buffer.
void | write (const void *buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
| Writes raw data from an application buffer to a dataset.
virtual | ~DataSet () override
| Properly terminates access to this dataset.
Public Member Functions inherited from H5Object
bool | attrExists (const char *name) const
| Checks whether the named attribute exists at this location.
bool | attrExists (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
Attribute | createAttribute (const char *name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
| Creates an attribute for a group, dataset, or named datatype.
Attribute | createAttribute (const std::string &name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
int | getNumAttrs () const
| Returns the number of attributes attached to this HDF5 object.
std::string | getObjName () const
| Returns the name of this object as an H5std_string.
ssize_t | getObjName (char *obj_name, size_t buf_size=0) const
| Given an id, returns the type of the object.
ssize_t | getObjName (std::string &obj_name, size_t len=0) const
| Gets the name of this object, returning its length.
int | iterateAttrs (attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)
| Iterates a user's function over all the attributes of an H5 object, which may be a group, dataset or named datatype.
unsigned | objVersion () const
| Returns the header version of this HDF5 object.
Attribute | openAttribute (const char *name) const
| Opens an attribute given its name.
Attribute | openAttribute (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
Attribute | openAttribute (const unsigned int idx) const
| Opens an attribute given its index.
void | removeAttr (const char *name) const
| Removes the named attribute from this object.
void | removeAttr (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
void | renameAttr (const char *oldname, const char *newname) const
| Renames the named attribute from this object.
void | renameAttr (const std::string &oldname, const std::string &newname) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for the names.
void | visit (H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields)
| Recursively visits all HDF5 objects accessible from this object.
Public Member Functions inherited from H5Location
H5O_type_t | childObjType (const char *objname) const
| Returns the type of an object in this file/group, given the object's name.
H5O_type_t | childObjType (const std::string &objname) const
| This is an overloaded member function, provided for convenience. It takes an H5std_string for the object's name.
H5O_type_t | childObjType (hsize_t index, H5_index_t index_type=H5_INDEX_NAME, H5_iter_order_t order=H5_ITER_INC, const char *objname=".") const
| Returns the type of an object in this file/group, given the object's index and its type and order.
unsigned | childObjVersion (const char *objname) const
| Returns the object header version of an object in this file/group, given the object's name.
unsigned | childObjVersion (const std::string &objname) const
| This is an overloaded member function, provided for convenience. It takes an H5std_string for the object's name.
void | copyLink (const char *src_name, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Copies a link from a group in the same location.
void | copyLink (const char *src_name, const Group &dst, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Copies a link from one group to another.
void | copyLink (const std::string &src_name, const Group &dst, const std::string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for src_name and dst_name.
void | copyLink (const std::string &src_name, const std::string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for src_name and dst_name.
DataSet | createDataSet (const char *name, const DataType &data_type, const DataSpace &data_space, const DSetCreatPropList &create_plist=DSetCreatPropList::DEFAULT, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT) const
| Creates a new dataset at this location.
DataSet | createDataSet (const std::string &name, const DataType &data_type, const DataSpace &data_space, const DSetCreatPropList &create_plist=DSetCreatPropList::DEFAULT, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
Group | createGroup (const char *name, const LinkCreatPropList &lcpl) const
| Creates a new group at this location, which can be a file, group, dataset, attribute, or named datatype.
Group | createGroup (const char *name, size_t size_hint=0) const
| Creates a new group at this location, which can be a file, group, dataset, attribute, or named datatype.
Group | createGroup (const std::string &name, const LinkCreatPropList &lcpl) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
Group | createGroup (const std::string &name, size_t size_hint=0) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | dereference (const H5Location &loc, const void *ref, H5R_type_t ref_type=H5R_OBJECT, const PropList &plist=PropList::DEFAULT)
| Dereferences a reference into an HDF5 object, given an HDF5 object.
bool | exists (const char *name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Deprecated in favor of nameExists.
bool | exists (const std::string &name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Deprecated in favor of nameExists.
void | flush (H5F_scope_t scope) const
| Flushes all buffers associated with a location to disk.
ssize_t | getComment (const char *name, size_t buf_size, char *comment) const
| Retrieves the comment for this location, returning its length.
std::string | getComment (const char *name, size_t buf_size=0) const
| Returns the comment as string for this location, returning its length.
std::string | getComment (const std::string &name, size_t buf_size=0) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
std::string | getFileName () const
| Gets the name of the file, in which an HDF5 object at this location belongs.
H5L_info2_t | getLinkInfo (const char *link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Returns the information of the named link.
H5L_info2_t | getLinkInfo (const std::string &link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for link_name.
std::string | getLinkval (const char *link_name, size_t size=0) const
| Returns the name of the object that the symbolic link points to.
std::string | getLinkval (const std::string &link_name, size_t size=0) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | getNativeObjinfo (const char *grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Retrieves native information about an HDF5 object given its index.
void | getNativeObjinfo (const char *name, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Retrieves native information about an HDF5 object given its name.
void | getNativeObjinfo (const std::string &grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for grp_name.
void | getNativeObjinfo (const std::string &name, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
void | getNativeObjinfo (H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR) const
| Retrieves native information about an HDF5 object.
hsize_t | getNumObjs () const
| Deprecated - moved to H5::Group in 1.10.2.
void | getObjinfo (const char *grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Retrieves information about an HDF5 object given its index.
void | getObjinfo (const char *name, bool follow_link, H5G_stat_t &statbuf) const
| Returns information about an object.
void | getObjinfo (const char *name, H5G_stat_t &statbuf) const
| This is an overloaded member function, provided for convenience. It differs from the above functions in that it doesn't have the parameter follow_link.
void | getObjinfo (const char *name, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Retrieves information about an HDF5 object given its name.
void | getObjinfo (const std::string &grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
void | getObjinfo (const std::string &name, bool follow_link, H5G_stat_t &statbuf) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | getObjinfo (const std::string &name, H5G_stat_t &statbuf) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | getObjinfo (const std::string &name, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an `H5std_string` for name.
void | getObjinfo (H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC) const
| Retrieves information about an HDF5 object.
std::string | getObjnameByIdx (hsize_t idx) const
| Returns the name of an object in this group, given the object's index.
ssize_t | getObjnameByIdx (hsize_t idx, char *name, size_t size) const
| Retrieves the name of an object in this group, given the object's index.
ssize_t | getObjnameByIdx (hsize_t idx, std::string &name, size_t size) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
H5G_obj_t | getObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
| Retrieves the type of object that an object reference points to.
H5G_obj_t | getObjTypeByIdx (hsize_t idx) const
| Returns the type of an object in this group, given the object's index. (Deprecated).
H5G_obj_t | getObjTypeByIdx (hsize_t idx, char *type_name) const
| This is an overloaded member function, provided for convenience. It differs from the above function because it also provides the returned object type in text (char*) (Deprecated).
H5G_obj_t | getObjTypeByIdx (hsize_t idx, std::string &type_name) const
| This is an overloaded member function, provided for convenience. It differs from the above function because it also provides the returned object type in text (H5std_string&) (Deprecated).
H5O_type_t | getRefObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
| Retrieves the type of object that an object reference points to.
DataSpace | getRegion (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const
| Retrieves a dataspace with the region pointed to selected.
| H5Location ()
int | iterateElems (const char *name, int *idx, H5G_iterate_t op, void *op_data)
| Iterates a user's function over the entries of a group.
int | iterateElems (const std::string &name, int *idx, H5G_iterate_t op, void *op_data)
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | link (const char *curr_name, const Group &new_loc, const char *new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Creates a hard link from new_name to curr_name.
void | link (const char *curr_name, const hid_t same_loc, const char *new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Creates a hard link from new_name to curr_name - can be used to pass in H5L_SAME_LOC.
void | link (const char *target_name, const char *link_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Creates a soft link from link_name to target_name.
void | link (const std::string &curr_name, const Group &new_loc, const std::string &new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for curr_name and new_name.
void | link (const std::string &curr_name, const hid_t same_loc, const std::string &new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for curr_name and new_name.
void | link (const std::string &target_name, const std::string &link_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for target_name and link_name.
void | link (H5L_type_t link_type, const char *curr_name, const char *new_name) const
| Creates a link of the specified type from new_name to curr_name.
void | link (H5L_type_t link_type, const std::string &curr_name, const std::string &new_name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for curr_name and new_name.
void | mount (const char *name, const H5File &child, const PropList &plist) const
| Mounts the file child onto this group.
void | mount (const std::string &name, const H5File &child, const PropList &plist) const
| This is an overloaded member function, provided for convenience. It takes an `H5std_string` for name.
void | move (const char *src, const char *dst) const
| Renames an object at this location. - Deprecated in favor of moveLink().
void | move (const std::string &src, const std::string &dst) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for src and dst. - Deprecated in favor of moveLink().
void | moveLink (const char *src_name, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Renames a link in this group.
void | moveLink (const char *src_name, const Group &dst, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Renames a link in this group and moves it to a new location.
void | moveLink (const std::string &src_name, const Group &dst, const std::string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for src_name and dst_name.
void | moveLink (const std::string &src_name, const std::string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for src_name and dst_name.
bool | nameExists (const char *name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Checks if a link of a given name exists in a location.
bool | nameExists (const std::string &name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Checks if a link of a given name exists in a location.
DataSet | openDataSet (const char *name, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT) const
| Opens an existing dataset at this location.
DataSet | openDataSet (const std::string &name, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
Group | openGroup (const char *name) const
| Opens an existing group in a location which can be a file or another group.
Group | openGroup (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | reference (void *ref, const char *name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
| Creates a reference to an HDF5 object or a dataset region.
void | reference (void *ref, const char *name, H5R_type_t ref_type=H5R_OBJECT) const
| This is an overloaded function, provided for your convenience. It differs from the above function in that it does not take a DataSpace object and the reference type must be specified.
void | reference (void *ref, const std::string &name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | reference (void *ref, const std::string &name, H5R_type_t ref_type=H5R_OBJECT) const
| This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an `H5std_string` for the object's name.
void | removeComment (const char *name) const
| Removes the comment from an object specified by its name.
void | removeComment (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | setComment (const char *comment) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it doesn't take an object name.
void | setComment (const char *name, const char *comment) const
| Sets or resets the comment for an object specified by its name.
void | setComment (const std::string &comment) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for comment.
void | setComment (const std::string &name, const std::string &comment) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name and comment.
virtual void | throwException (const std::string &func_name, const std::string &msg) const
| For subclasses, H5File and Group, to throw appropriate exception.
void | unlink (const char *link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| Removes the specified link from this group.
void | unlink (const std::string &link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
void | unmount (const char *name) const
| Unmounts the specified file.
void | unmount (const std::string &name) const
| This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an `H5std_string` for name.
Public Member Functions inherited from IdComponent
void | decRefCount () const
| Decrement reference counter for the id of this object.
void | decRefCount (const hid_t obj_id) const
| Decrement reference counter for a given id.
int | getCounter () const
| Returns the reference counter for the id of this object.
int | getCounter (const hid_t obj_id) const
| Returns the reference counter for a given id.
H5I_type_t | getHDFObjType () const
| Returns the type of the object. It is an overloaded function of the above function.
void | incRefCount () const
| Increment reference counter for the id of this object.
void | incRefCount (const hid_t obj_id) const
| Increment reference counter for a given id.
std::string | inMemFunc (const char *func_name) const
| Makes and returns string "<class-name>::<func_name>".
IdComponent & | operator= (const IdComponent &rhs)
| Assignment operator.
void | setId (const hid_t new_id)
| Sets the identifier of this object to a new value.
virtual | ~IdComponent ()=default
Public Member Functions inherited from AbstractDs
ArrayType | getArrayType () const
| Returns the array datatype of this abstract dataset which can be a dataset or an attribute.
CompType | getCompType () const
| Returns the compound datatype of this abstract dataset which can be a dataset or an attribute.
DataType | getDataType () const
| Returns the generic datatype of this abstract dataset, which can be a dataset or an attribute.
EnumType | getEnumType () const
| Returns the enumeration datatype of this abstract dataset which can be a dataset or an attribute.
FloatType | getFloatType () const
| Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute.
IntType | getIntType () const
| Returns the integer datatype of this abstract dataset which can be a dataset or an attribute.
StrType | getStrType () const
| Returns the string datatype of this abstract dataset which can be a dataset or an attribute.
H5T_class_t | getTypeClass () const
| Creates an AbstractDs instance using an existing id.
VarLenType | getVarLenType () const
| Returns the variable length datatype of this abstract dataset, which can be a dataset or an attribute.
virtual | ~AbstractDs ()=default

## Static Public Member Functions
static void | vlenReclaim (const DataType &type, const DataSpace &space, const DSetMemXferPropList &xfer_plist, void *buf)
| Reclaims VL datatype memory buffers.
static void | vlenReclaim (void *buf, const DataType &type, const DataSpace &space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT)
| Reclaims VL datatype memory buffers.
Static Public Member Functions inherited from IdComponent
static H5I_type_t | getHDFObjType (const hid_t obj_id)
| Given an id, returns the type of the object.
static hsize_t | getNumMembers (H5I_type_t type)
| Returns the number of members of the given type.
static bool | isValid (hid_t an_id)
| Checks if the given ID is valid.
static bool | typeExists (H5I_type_t type)
| Queries if a given type is currently registered with the library.

## Protected Member Functions
virtual void | p_setId (const hid_t new_id) override
| Sets the identifier of this dataset to a new value.
Protected Member Functions inherited from H5Object
| H5Object ()
virtual | ~H5Object () override=default
Protected Member Functions inherited from H5Location
hid_t | p_dereference (hid_t loc_id, const void *ref, H5R_type_t ref_type, const PropList &plist, const char *from_func)
H5G_obj_t | p_get_obj_type (void *ref, H5R_type_t ref_type) const
H5O_type_t | p_get_ref_obj_type (void *ref, H5R_type_t ref_type) const
void | p_reference (void *ref, const char *name, hid_t space_id, H5R_type_t ref_type) const
virtual | ~H5Location () override=default
Protected Member Functions inherited from IdComponent
| IdComponent ()
| Default constructor.
std::string | p_get_file_name () const
Protected Member Functions inherited from AbstractDs
| AbstractDs ()
| Default constructor.

## Friends
void | f_DataSet_setId (DataSet *dset, hid_t new_id)

## Additional Inherited Members
Static Protected Member Functions inherited from IdComponent
static bool | p_valid_id (const hid_t obj_id)
Static Protected Attributes inherited from IdComponent
static bool | H5dontAtexit_called = false

## Constructor & Destructor Documentation

## ◆ DataSet() [1/5]

DataSet | ( | const H5Location & | loc,
|  | const void * | ref,
|  | H5R_type_t | ref_type = H5R_OBJECT,
|  | const PropList & | plist = PropList::DEFAULT )

Given a reference, ref, to an hdf5 location, creates a DataSet object.

Parameters

  loc | - IN: Dataset reference object is in or location of object that the dataset is located within.
  ref | - IN: Reference pointer
  ref_type | - IN: Reference type - default to H5R_OBJECT
  plist | - IN: Property list - default to PropList::DEFAULT

Exceptions

  H5::DataSetIException |

Description
  `loc` can be DataSet, Group, H5File, or named DataType, that is a datatype that has been named by DataType::commit.

## ◆ DataSet() [2/5]

DataSet | ( | const Attribute & | attr,
|  | const void * | ref,
|  | H5R_type_t | ref_type = H5R_OBJECT,
|  | const PropList & | plist = PropList::DEFAULT )

Given a reference, ref, to an hdf5 attribute, creates a DataSet object.

Parameters

  attr | - IN: Specifying location where the referenced object is in
  ref | - IN: Reference pointer
  ref_type | - IN: Reference type - default to H5R_OBJECT
  plist | - IN: Property list - default to PropList::DEFAULT

Exceptions

  H5::ReferenceException |

## ◆ DataSet() [3/5]

DataSet | ( |  | ) |

Default constructor: creates a stub DataSet.

## ◆ DataSet() [4/5]

DataSet | ( | const DataSet & | original | ) |

Copy constructor: same HDF5 object as original.

Parameters

  original | - IN: DataSet instance to copy

## ◆ DataSet() [5/5]

DataSet | ( | const hid_t | existing_id | ) |

Creates an DataSet object using the id of an existing dataset.

Parameters

  existing_id | - IN: Id of an existing dataset

## ◆ ~DataSet()

~DataSet | ( |  | ) |
| override virtual

Properly terminates access to this dataset.

## Member Function Documentation

## ◆ close()

void close | ( |  | ) |
| override virtual

Closes this dataset.

Exceptions

  H5::DataSetIException |

Implements IdComponent.

## ◆ extend()

void extend | ( | const hsize_t * | size | ) | const

Extends a dataset with unlimited dimension.

Parameters

  size | - IN: Array containing the new magnitude of each dimension

Exceptions

  H5::DataSetIException |

Description
  For information, please refer to the H5Dset_extent API in the HDF5 C Reference Manual.

## ◆ fillMemBuf() [1/2]

void fillMemBuf | ( | const void * | fill,
|  | const DataType & | fill_type,
|  | void * | buf,
|  | const DataType & | buf_type,
|  | const DataSpace & | space ) const

Fills a selection in memory with a value.

Parameters

  fill | - IN: Pointer to fill value to use - default NULL
  fill_type | - IN: Datatype of the fill value
  buf | - IN/OUT: Memory buffer to fill selection within
  buf_type | - IN: Datatype of the elements in buffer
  space | - IN: Dataspace describing memory buffer & containing selection to use

Exceptions

  H5::DataSetIException |

## ◆ fillMemBuf() [2/2]

void fillMemBuf | ( | void * | buf,
|  | const DataType & | buf_type,
|  | const DataSpace & | space ) const

Fills a selection in memory with 0.

Parameters

  buf | - IN/OUT: Memory buffer to fill selection within
  buf_type | - IN: Datatype of the elements in buffer
  space | - IN: Dataspace describing memory buffer & containing selection to use

Exceptions

  H5::DataSetIException |

## ◆ fromClass()

virtual std::string fromClass | ( |  | ) | const
| override virtual

Returns this class name.

Reimplemented from IdComponent.

## ◆ getAccessPlist()

DSetAccPropList getAccessPlist | ( |  | ) | const

Gets the dataset access property list.

Returns
  DSetAccPropList instance

Exceptions

  H5::DataSetIException |

## ◆ getCreatePlist()

DSetCreatPropList getCreatePlist | ( |  | ) | const

Gets the dataset creation property list.

Returns
  DSetCreatPropList instance

Exceptions

  H5::DataSetIException |

## ◆ getId()

hid_t getId | ( |  | ) | const
| override virtual

Get the id of this dataset.

Returns
  DataSet identifier

Implements H5Object.

## ◆ getInMemDataSize()

size_t getInMemDataSize | ( |  | ) | const
| override virtual

Gets the size in memory of the dataset's data.

Returns
  Size of data (in memory)

Exceptions

  H5::DataSetIException |

Implements AbstractDs.

## ◆ getOffset()

haddr_t getOffset | ( |  | ) | const

Returns the address of this dataset in the file.

Returns
  Address of dataset

Exceptions

  H5::DataSetIException |

## ◆ getSpace()

DataSpace getSpace | ( |  | ) | const
| override virtual

Gets a copy of the dataspace of this dataset.

Returns
  DataSpace instance

Exceptions

  H5::DataSetIException |

Implements AbstractDs.

## ◆ getSpaceStatus()

void getSpaceStatus | ( | H5D_space_status_t & | status | ) | const

Determines whether space has been allocated for a dataset.

Parameters

  status | - OUT: Space allocation status

Exceptions

  H5::DataSetIException |

## ◆ getStorageSize()

hsize_t getStorageSize | ( |  | ) | const
| override virtual

Returns the amount of storage required for a dataset.

Returns
  Size of the storage or 0, for no data

Exceptions

  H5::DataSetIException |

Implements AbstractDs.

## ◆ getVlenBufSize()

hsize_t getVlenBufSize | ( | const DataType & | type,
|  | const DataSpace & | space ) const

Returns the number of bytes required to store VL data.

Parameters

  type | - IN: Datatype, which is the datatype for the buffer
  space | - IN: Selection for the memory buffer

Returns
  Amount of storage

Exceptions

  H5::DataSetIException |

## ◆ iterateElems()

int iterateElems | ( | void * | buf,
|  | const DataType & | type,
|  | const DataSpace & | space,
|  | H5D_operator_t | op,
|  | void * | op_data = NULL )

Iterates over all selected elements in a dataspace.

Parameters

  buf | - IN/OUT: Pointer to the buffer in memory containing the elements to iterate over
  type | - IN: Datatype for the elements stored in buf
  space | - IN: Dataspace for buf. Also contains the selection to iterate over.
  op | - IN: Function pointer to the routine to be called for each element in buf iterated over
  op_data | - IN/OUT: Pointer to any user-defined data associated with the operation

Exceptions

  H5::DataSetIException |

Note
  This function may not work correctly yet - it's still under development.

## ◆ operator=()

DataSet & operator= | ( | const DataSet & | original | ) |

Assignment operator: same HDF5 object as original.

Parameters

  original | - IN: DataSet instance to copy

## ◆ p_setId()

void p_setId | ( | const hid_t | new_id | ) |
| override protected virtual

Sets the identifier of this dataset to a new value.

Exceptions

  H5::IdComponentException | when the attempt to close the HDF5 object fails

Implements H5Object.

## ◆ read() [1/2]

void read | ( | std::string & | strg,
|  | const DataType & | mem_type,
|  | const DataSpace & | mem_space = DataSpace::ALL,
|  | const DataSpace & | file_space = DataSpace::ALL,
|  | const DSetMemXferPropList & | xfer_plist = DSetMemXferPropList::DEFAULT ) const

This is an overloaded member function, provided for convenience. It takes a reference to a `H5std_string` for the buffer.

Parameters

  strg | - IN: Buffer for read data string
  mem_type | - IN: Memory datatype
  mem_space | - IN: Memory dataspace
  file_space | - IN: Dataset's dataspace in the file
  xfer_plist | - IN: Transfer property list for this I/O operation

Exceptions

  H5::DataSetIException |

## ◆ read() [2/2]

void read | ( | void * | buf,
|  | const DataType & | mem_type,
|  | const DataSpace & | mem_space = DataSpace::ALL,
|  | const DataSpace & | file_space = DataSpace::ALL,
|  | const DSetMemXferPropList & | xfer_plist = DSetMemXferPropList::DEFAULT ) const

Reads raw data from the specified dataset.

Parameters

  buf | - IN: Buffer for read data
  mem_type | - IN: Memory datatype
  mem_space | - IN: Memory dataspace
  file_space | - IN: Dataset's dataspace in the file
  xfer_plist | - IN: Transfer property list for this I/O operation

Exceptions

  H5::DataSetIException |

Description
  This function reads raw data from this dataset into the buffer buf, converting from file datatype and dataspace to memory datatype mem_type and dataspace mem_space.

## ◆ vlenReclaim() [1/2]

void vlenReclaim | ( | const DataType & | type,
|  | const DataSpace & | space,
|  | const DSetMemXferPropList & | xfer_plist,
|  | void * | buf )
| static

Reclaims VL datatype memory buffers.

Parameters

  type | - IN: Datatype, which is the datatype stored in the buffer
  space | - IN: Selection for the memory buffer to free the VL datatypes within
  xfer_plist | - IN: Property list used to create the buffer
  buf | - IN: Pointer to the buffer to be reclaimed

Exceptions

  H5::DataSetIException |

## ◆ vlenReclaim() [2/2]

void vlenReclaim | ( | void * | buf,
|  | const DataType & | type,
|  | const DataSpace & | space = DataSpace::ALL,
|  | const DSetMemXferPropList & | xfer_plist = DSetMemXferPropList::DEFAULT )
| static

Reclaims VL datatype memory buffers.

Parameters

  type | - IN: Datatype, which is the datatype stored in the buffer
  space | - IN: Selection for the memory buffer to free the VL datatypes within
  xfer_plist | - IN: Property list used to create the buffer
  buf | - IN: Pointer to the buffer to be reclaimed

Exceptions

  H5::DataSetIException |

## ◆ write() [1/2]

void write | ( | const std::string & | buf,
|  | const DataType & | mem_type,
|  | const DataSpace & | mem_space = DataSpace::ALL,
|  | const DataSpace & | file_space = DataSpace::ALL,
|  | const DSetMemXferPropList & | xfer_plist = DSetMemXferPropList::DEFAULT ) const

This is an overloaded member function, provided for convenience. It takes a reference to a `H5std_string` for the buffer.

## ◆ write() [2/2]

void write | ( | const void * | buf,
|  | const DataType & | mem_type,
|  | const DataSpace & | mem_space = DataSpace::ALL,
|  | const DataSpace & | file_space = DataSpace::ALL,
|  | const DSetMemXferPropList & | xfer_plist = DSetMemXferPropList::DEFAULT ) const

Writes raw data from an application buffer to a dataset.

Parameters

  buf | - IN: Buffer containing data to be written
  mem_type | - IN: Memory datatype
  mem_space | - IN: Memory dataspace
  file_space | - IN: Dataset's dataspace in the file
  xfer_plist | - IN: Transfer property list for this I/O operation

Exceptions

  H5::DataSetIException |

Description
  This function writes raw data from an application buffer buf to a dataset, converting from memory datatype mem_type and dataspace mem_space to file datatype and dataspace.

## Friends And Related Symbol Documentation

## ◆ f_DataSet_setId

void f_DataSet_setId | ( | DataSet * | dset,
|  | hid_t | new_id )
| friend

The documentation for this class was generated from the following files:

- c++/src/H5DataSet.h
- c++/src/H5DataSet.cpp