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

| HDF5 Last Updated on 2025-11-11 The HDF5 Field Guide

- Main Page
- Getting started
- User Guide
- Reference Manual
- Cookbook
- Technical Notes
- RFCs
- Specifications
- Glossary
- Full-Text Search
- About

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
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
bool | attrExists (const H5std_string &name) const
Attribute | createAttribute (const char *name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
Attribute | createAttribute (const H5std_string &name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
virtual hid_t | getId () const override=0
int | getNumAttrs () const
H5std_string | getObjName () const
ssize_t | getObjName (char *obj_name, size_t buf_size=0) const
ssize_t | getObjName (H5std_string &obj_name, size_t len=0) const
int | iterateAttrs (attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)
unsigned | objVersion () const
Attribute | openAttribute (const char *name) const
Attribute | openAttribute (const H5std_string &name) const
Attribute | openAttribute (const unsigned int idx) const
void | removeAttr (const char *name) const
void | removeAttr (const H5std_string &name) const
void | renameAttr (const char *oldname, const char *newname) const
void | renameAttr (const H5std_string &oldname, const H5std_string &newname) const
void | visit (H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields)
Public Member Functions inherited from H5Location
H5O_type_t | childObjType (const char *objname) const
H5O_type_t | childObjType (const H5std_string &objname) const
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
unsigned | childObjVersion (const char *objname) const
unsigned | childObjVersion (const H5std_string &objname) const
void | copyLink (const char *src_name, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | copyLink (const char *src_name, const Group &dst, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | copyLink (const H5std_string &src_name, const Group &dst, const H5std_string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | copyLink (const H5std_string &src_name, const H5std_string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
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
DataSet | createDataSet (const H5std_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
Group | createGroup (const char *name, const LinkCreatPropList &lcpl) const
Group | createGroup (const char *name, size_t size_hint=0) const
Group | createGroup (const H5std_string &name, const LinkCreatPropList &lcpl) const
Group | createGroup (const H5std_string &name, size_t size_hint=0) const
void | dereference (const H5Location &loc, const void *ref, H5R_type_t ref_type=H5R_OBJECT, const PropList &plist=PropList::DEFAULT)
bool | exists (const char *name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
bool | exists (const H5std_string &name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | flush (H5F_scope_t scope) const
ssize_t | getComment (const char *name, size_t buf_size, char *comment) const
H5std_string | getComment (const char *name, size_t buf_size=0) const
H5std_string | getComment (const H5std_string &name, size_t buf_size=0) const
H5std_string | getFileName () const
H5L_info2_t | getLinkInfo (const char *link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
H5L_info2_t | getLinkInfo (const H5std_string &link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
H5std_string | getLinkval (const char *link_name, size_t size=0) const
H5std_string | getLinkval (const H5std_string &link_name, size_t size=0) const
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
void | getNativeObjinfo (const char *name, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | getNativeObjinfo (const H5std_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
void | getNativeObjinfo (const H5std_string &name, H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | getNativeObjinfo (H5O_native_info_t &objinfo, unsigned fields=H5O_NATIVE_INFO_HDR) const
hsize_t | getNumObjs () const
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
void | getObjinfo (const char *name, bool follow_link, H5G_stat_t &statbuf) const
void | getObjinfo (const char *name, H5G_stat_t &statbuf) const
void | getObjinfo (const char *name, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | getObjinfo (const H5std_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
void | getObjinfo (const H5std_string &name, bool follow_link, H5G_stat_t &statbuf) const
void | getObjinfo (const H5std_string &name, H5G_stat_t &statbuf) const
void | getObjinfo (const H5std_string &name, H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | getObjinfo (H5O_info2_t &objinfo, unsigned fields=H5O_INFO_BASIC) const
H5std_string | getObjnameByIdx (hsize_t idx) const
ssize_t | getObjnameByIdx (hsize_t idx, char *name, size_t size) const
ssize_t | getObjnameByIdx (hsize_t idx, H5std_string &name, size_t size) const
H5G_obj_t | getObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
H5G_obj_t | getObjTypeByIdx (hsize_t idx) const
H5G_obj_t | getObjTypeByIdx (hsize_t idx, char *type_name) const
H5G_obj_t | getObjTypeByIdx (hsize_t idx, H5std_string &type_name) const
H5O_type_t | getRefObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
DataSpace | getRegion (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const
| H5Location ()
int | iterateElems (const char *name, int *idx, H5G_iterate_t op, void *op_data)
int | iterateElems (const H5std_string &name, int *idx, H5G_iterate_t op, void *op_data)
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
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
void | link (const char *target_name, const char *link_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | link (const H5std_string &curr_name, const Group &new_loc, const H5std_string &new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | link (const H5std_string &curr_name, const hid_t same_loc, const H5std_string &new_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | link (const H5std_string &target_name, const H5std_string &link_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | link (H5L_type_t link_type, const char *curr_name, const char *new_name) const
void | link (H5L_type_t link_type, const H5std_string &curr_name, const H5std_string &new_name) const
void | mount (const char *name, const H5File &child, const PropList &plist) const
void | mount (const H5std_string &name, const H5File &child, const PropList &plist) const
void | move (const char *src, const char *dst) const
void | move (const H5std_string &src, const H5std_string &dst) const
void | moveLink (const char *src_name, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | moveLink (const char *src_name, const Group &dst, const char *dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | moveLink (const H5std_string &src_name, const Group &dst, const H5std_string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | moveLink (const H5std_string &src_name, const H5std_string &dst_name, const LinkCreatPropList &lcpl=LinkCreatPropList::DEFAULT, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
bool | nameExists (const char *name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
bool | nameExists (const H5std_string &name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
DataSet | openDataSet (const char *name, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT) const
DataSet | openDataSet (const H5std_string &name, const DSetAccPropList &dapl=DSetAccPropList::DEFAULT) const
Group | openGroup (const char *name) const
Group | openGroup (const H5std_string &name) const
void | reference (void *ref, const char *name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
void | reference (void *ref, const char *name, H5R_type_t ref_type=H5R_OBJECT) const
void | reference (void *ref, const H5std_string &name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
void | reference (void *ref, const H5std_string &name, H5R_type_t ref_type=H5R_OBJECT) const
void | removeComment (const char *name) const
void | removeComment (const H5std_string &name) const
void | setComment (const char *comment) const
void | setComment (const char *name, const char *comment) const
void | setComment (const H5std_string &comment) const
void | setComment (const H5std_string &name, const H5std_string &comment) const
virtual void | throwException (const H5std_string &func_name, const H5std_string &msg) const
| For subclasses, H5File and Group, to throw appropriate exception.
void | unlink (const char *link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | unlink (const H5std_string &link_name, const LinkAccPropList &lapl=LinkAccPropList::DEFAULT) const
void | unmount (const char *name) const
void | unmount (const H5std_string &name) const
Public Member Functions inherited from IdComponent
virtual void | close ()=0
void | decRefCount () const
void | decRefCount (const hid_t obj_id) const
virtual H5std_string | fromClass () const
| Returns this class name.
int | getCounter () const
int | getCounter (const hid_t obj_id) const
H5I_type_t | getHDFObjType () const
void | incRefCount () const
void | incRefCount (const hid_t obj_id) const
H5std_string | inMemFunc (const char *func_name) const
IdComponent & | operator= (const IdComponent &rhs)
void | setId (const hid_t new_id)
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 ()
H5std_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)
static hsize_t | getNumMembers (H5I_type_t type)
static bool | isValid (hid_t an_id)
static bool | typeExists (H5I_type_t type)
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

## 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

## ◆ attrExists() [2/2]

bool attrExists | ( | const H5std_string & | name | ) | const

## ◆ createAttribute() [1/2]

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

## ◆ createAttribute() [2/2]

Attribute createAttribute | ( | const H5std_string & | name,
|  | const DataType & | type,
|  | const DataSpace & | space,
|  | const PropList & | create_plist = PropList::DEFAULT ) const

## ◆ getId()

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

Implements IdComponent.

Implemented in DataSet, DataType, Group, and H5File.

## ◆ getNumAttrs()

int getNumAttrs | ( |  | ) | const

## ◆ getObjName() [1/3]

H5std_string getObjName | ( |  | ) | const

## ◆ getObjName() [2/3]

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

## ◆ getObjName() [3/3]

ssize_t getObjName | ( | H5std_string & | obj_name,
|  | size_t | len = 0 ) const

## ◆ iterateAttrs()

int iterateAttrs | ( | attr_operator_t | user_op,
|  | unsigned * | idx = NULL,
|  | void * | op_data = NULL )

## ◆ objVersion()

unsigned objVersion | ( |  | ) | const

## ◆ openAttribute() [1/3]

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

## ◆ openAttribute() [2/3]

Attribute openAttribute | ( | const H5std_string & | name | ) | const

## ◆ openAttribute() [3/3]

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

## ◆ 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

## ◆ removeAttr() [2/2]

void removeAttr | ( | const H5std_string & | name | ) | const

## ◆ renameAttr() [1/2]

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

## ◆ renameAttr() [2/2]

void renameAttr | ( | const H5std_string & | oldname,
|  | const H5std_string & | newname ) const

## ◆ visit()

void visit | ( | H5_index_t | idx_type,
|  | H5_iter_order_t | order,
|  | visit_operator_t | user_op,
|  | void * | op_data,
|  | unsigned int | fields )

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

- c++/src/H5Object.h