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 | Friends
Attribute Class Reference

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

## Detailed Description

Class Attribute operates on HDF5 attributes.

An attribute has many characteristics similar to a dataset, thus both Attribute and DataSet are derivatives of AbstractDs. Attribute also inherits from H5Location because an attribute can be used to specify a location.

Inheritance diagram for Attribute:

## Public Member Functions
| Attribute ()
| Attribute (const Attribute &original)
| Attribute (const hid_t attr_id)
virtual void | close () override
virtual H5std_string | fromClass () const override
| Returns this class name.
virtual hid_t | getId () const override
virtual size_t | getInMemDataSize () const override
| Gets the size in memory of this abstract dataset.
H5std_string | getName () const
ssize_t | getName (char *attr_name, size_t buf_size=0) const
ssize_t | getName (H5std_string &attr_name, size_t len=0) const
ssize_t | getName (size_t buf_size, H5std_string &attr_name) const
H5std_string | getName (size_t len) const
virtual DataSpace | getSpace () const override
| Gets the dataspace of this abstract dataset - pure virtual.
virtual hsize_t | getStorageSize () const override
| Returns the amount of storage size required - pure virtual.
Attribute & | operator= (const Attribute &original)
void | read (const DataType &mem_type, H5std_string &strg) const
void | read (const DataType &mem_type, void *buf) const
void | write (const DataType &mem_type, const H5std_string &strg) const
void | write (const DataType &mem_type, const void *buf) const
virtual | ~Attribute () override
Public Member Functions inherited from AbstractDs
ArrayType | getArrayType () const
CompType | getCompType () const
DataType | getDataType () const
EnumType | getEnumType () const
FloatType | getFloatType () const
IntType | getIntType () const
StrType | getStrType () const
H5T_class_t | getTypeClass () const
VarLenType | getVarLenType () const
virtual | ~AbstractDs ()=default
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
void | decRefCount () const
void | decRefCount (const hid_t obj_id) const
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
virtual void | p_setId (const hid_t new_id) override
Protected Member Functions inherited from AbstractDs
| AbstractDs ()
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

## Friends
void | f_Attribute_setId (Attribute *attr, hid_t new_id)

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

## ◆ Attribute() [1/3]

Attribute | ( | const Attribute & | original | ) |

## ◆ Attribute() [2/3]

Attribute | ( |  | ) |

## ◆ Attribute() [3/3]

Attribute | ( | const hid_t | attr_id | ) |

## ◆ ~Attribute()

virtual ~Attribute | ( |  | ) |
| override virtual

## Member Function Documentation

## ◆ close()

virtual void close | ( |  | ) |
| override virtual

Implements IdComponent.

## ◆ fromClass()

virtual H5std_string fromClass | ( |  | ) | const
| override virtual

Returns this class name.

Implements AbstractDs.

## ◆ getId()

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

Implements IdComponent.

## ◆ getInMemDataSize()

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

Gets the size in memory of this abstract dataset.

Implements AbstractDs.

## ◆ getName() [1/5]

H5std_string getName | ( |  | ) | const

## ◆ getName() [2/5]

ssize_t getName | ( | char * | attr_name,
|  | size_t | buf_size = 0 ) const

## ◆ getName() [3/5]

ssize_t getName | ( | H5std_string & | attr_name,
|  | size_t | len = 0 ) const

## ◆ getName() [4/5]

ssize_t getName | ( | size_t | buf_size,
|  | H5std_string & | attr_name ) const

## ◆ getName() [5/5]

H5std_string getName | ( | size_t | len | ) | const

## ◆ getSpace()

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

Gets the dataspace of this abstract dataset - pure virtual.

Implements AbstractDs.

## ◆ getStorageSize()

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

Returns the amount of storage size required - pure virtual.

Implements AbstractDs.

## ◆ operator=()

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

## ◆ p_setId()

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

Implements IdComponent.

## ◆ read() [1/2]

void read | ( | const DataType & | mem_type,
|  | H5std_string & | strg ) const

## ◆ read() [2/2]

void read | ( | const DataType & | mem_type,
|  | void * | buf ) const

## ◆ write() [1/2]

void write | ( | const DataType & | mem_type,
|  | const H5std_string & | strg ) const

## ◆ write() [2/2]

void write | ( | const DataType & | mem_type,
|  | const void * | buf ) const

## Friends And Related Symbol Documentation

## ◆ f_Attribute_setId

void f_Attribute_setId | ( | Attribute * | attr,
|  | hid_t | new_id )
| friend

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

- c++/src/H5Attribute.h