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
H5Object Class Referenceabstract

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

## Detailed Description

Class H5Object is a bridge between H5Location and DataSet, DataType, and Group.

Modification: Sept 18, 2012: Added class H5Location in between IdComponent and H5Object. An H5File now inherits from H5Location. All HDF5 wrappers in H5Object are moved up to H5Location. H5Object is left mostly empty for future wrappers that are only for group, dataset, and named datatype. Note that the reason for adding H5Location instead of simply moving H5File to be under H5Object is H5File is not an HDF5 object, and renaming H5Object to H5Location will risk breaking user applications. -BMR Apr 2, 2014: Added wrapper getObjName for H5Iget_name Sep 21, 2016: Rearranging classes (HDFFV-9920) moved H5A wrappers back into H5Object. This way, C functions that takes attribute id can be in H5Location and those that cannot take attribute id can be in H5Object.

Inheritance diagram for H5Object:

## Public Member Functions
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.
virtual hid_t | getId () const override=0
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
virtual void | close ()=0
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.
virtual std::string | fromClass () const
| Returns this class name.
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

## Protected Member Functions
| H5Object ()
virtual void | p_setId (const hid_t new_id) override=0
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

## Additional Inherited Members
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.
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

## ◆ H5Object()

H5Object | ( |  | ) |
| protected

## ◆ ~H5Object()

virtual ~H5Object | ( |  | ) |
| override protected virtual default

## Member Function Documentation

## ◆ attrExists() [1/2]

bool attrExists | ( | const char * | name | ) | const

Checks whether the named attribute exists at this location.

Parameters

  name | - IN: Name of the attribute to be queried

Exceptions

  H5::AttributeIException |

## ◆ attrExists() [2/2]

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.

## ◆ createAttribute() [1/2]

Attribute createAttribute | ( | const char * | name,
|  | const DataType & | data_type,
|  | const DataSpace & | data_space,
|  | const PropList & | create_plist = PropList::DEFAULT ) const

Creates an attribute for a group, dataset, or named datatype.

Parameters

  name | - IN: Name of the attribute
  data_type | - IN: Datatype for the attribute
  data_space | - IN: Dataspace for the attribute - only simple dataspaces are allowed at this time
  create_plist | - IN: Creation property list - default to PropList::DEFAULT

Returns
  Attribute instance

Exceptions

  H5::AttributeIException |

Description
  The attribute name specified in name must be unique. Attempting to create an attribute with the same name as an existing attribute will raise an exception, leaving the pre-existing attribute intact. To overwrite an existing attribute with a new attribute of the same name, first delete the existing one with `H5Object::removeAttr`, then recreate it with this function.

## ◆ createAttribute() [2/2]

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.

## ◆ getId()

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

Implements IdComponent.

Implemented in DataSet, DataType, Group, and H5File.

## ◆ getNumAttrs()

int getNumAttrs | ( |  | ) | const

Returns the number of attributes attached to this HDF5 object.

Returns
  Number of attributes

Exceptions

  H5::AttributeIException |

## ◆ getObjName() [1/3]

std::string getObjName | ( |  | ) | const

Returns the name of this object as an H5std_string.

Returns
  Name of the object

Exceptions

  H5::Exception |

## ◆ getObjName() [2/3]

ssize_t getObjName | ( | char * | obj_name,
|  | size_t | buf_size = 0 ) const

Given an id, returns the type of the object.

Returns
  The name of the object

## ◆ getObjName() [3/3]

ssize_t getObjName | ( | std::string & | obj_name,
|  | size_t | len = 0 ) const

Gets the name of this object, returning its length.

Parameters

  obj_name | - OUT: Buffer for the name string as H5std_string
  len | - IN: Desired length of the name, default to 0

Returns
  Actual length of the object name

Exceptions

  H5::Exception |

Description
  This function retrieves the object's name as an std string. buf_size can specify a specific length or default to 0, in which case the entire name will be retrieved.

## ◆ iterateAttrs()

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.

Parameters

  user_op | - IN: User's function to operate on each attribute
  _idx | - IN/OUT: Starting (IN) and ending (OUT) attribute indices
  op_data | - IN: User's data to pass to user's operator function

Returns
  Returned value of the last operator if it was non-zero, or zero if all attributes were processed

Exceptions

  H5::AttributeIException |

Description
  The signature of user_op is void (*)(H5::H5Location&, H5std_string, void*).

## ◆ objVersion()

unsigned objVersion | ( |  | ) | const

Returns the header version of this HDF5 object.

Returns
  Object version, which can have the following values:
  - `H5O_VERSION_1`
  - `H5O_VERSION_2`

Exceptions

  H5::ObjHeaderIException | Exception will be thrown when: an error returned by the C API version number is not one of the valid values above

## ◆ openAttribute() [1/3]

Attribute openAttribute | ( | const char * | name | ) | const

Opens an attribute given its name.

Parameters

  name | - IN: Name of the attribute

Returns
  Attribute instance

Exceptions

  H5::AttributeIException |

## ◆ openAttribute() [2/3]

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.

## ◆ openAttribute() [3/3]

Attribute openAttribute | ( | const unsigned int | idx | ) | const

Opens an attribute given its index.

Parameters

  idx | - IN: Index of the attribute, a 0-based, non-negative integer

Returns
  Attribute instance

Exceptions

  H5::AttributeIException |

## ◆ p_setId()

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

Implements IdComponent.

Implemented in DataSet, DataType, Group, and H5File.

## ◆ removeAttr() [1/2]

void removeAttr | ( | const char * | name | ) | const

Removes the named attribute from this object.

Parameters

  name | - IN: Name of the attribute to be removed

Exceptions

  H5::AttributeIException |

## ◆ removeAttr() [2/2]

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.

## ◆ renameAttr() [1/2]

void renameAttr | ( | const char * | oldname,
|  | const char * | newname ) const

Renames the named attribute from this object.

Parameters

  oldname | - IN: Name of the attribute to be renamed
  newname | - IN: New name ame of the attribute

Exceptions

  H5::AttributeIException |

## ◆ renameAttr() [2/2]

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.

## ◆ visit()

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.

Parameters

  idx_type | - IN: Type of index; valid values include: `H5_INDEX_NAME` `H5_INDEX_CRT_ORDER`
  order | - IN: Order in which index is traversed; valid values include: `H5_ITER_DEC` `H5_ITER_INC` `H5_ITER_NATIVE`
  user_op | - IN: Callback function passing data regarding the object to the calling application
  *op_data | - IN: User-defined pointer to data required by the application for its processing of the object
  fields | - IN: Flags specifying the fields to be retrieved to the callback op via the H5O_info2_t argument. `H5O_INFO_BASIC` fileno, addr, type, and rc fields `H5O_INFO_TIME` atime, mtime, ctime, and btime fields `H5O_INFO_NUM_ATTRS` num_attrs field `H5O_INFO_ALL` H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS

Exceptions

  H5::Exception |

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

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

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