Common base class for all HDF5 classes in the DATAIO Module i.e., for all classes that wrap HDF5-C-Library functionality like HDFDataset, HDFGroup, HDFFile. This class is not intendet as something to be used independently, but only as a base class to be inherited from.
More...
#include <hdfobject.hh>
template<HDFCategory objectcategory>
class Utopia::DataIO::HDFObject< objectcategory >
Common base class for all HDF5 classes in the DATAIO Module i.e., for all classes that wrap HDF5-C-Library functionality like HDFDataset, HDFGroup, HDFFile. This class is not intendet as something to be used independently, but only as a base class to be inherited from.
- Template Parameters
-
HDFCategory | type of object an instance of this class refers to |
◆ HDFObject() [1/4]
template<HDFCategory objectcategory>
Construct HDFObject from the given arguments.
◆ HDFObject() [2/4]
template<HDFCategory objectcategory>
◆ HDFObject() [3/4]
template<HDFCategory objectcategory>
Construct HDFObject by copying another object.
◆ HDFObject() [4/4]
template<HDFCategory objectcategory>
Construct HDFObject from the given argument.
- Parameters
-
id | C-Library identifier, by rvalue reference count. This is done such that the id is 'stolen' by this object and hence reference counts stay the same |
path | Name of the object |
◆ ~HDFObject()
template<HDFCategory objectcategory>
Destroy the HDFObject object. Has to be implemented in subclass!
◆ bind_to()
template<HDFCategory objectcategory>
void Utopia::DataIO::HDFObject< objectcategory >::bind_to |
( |
hid_t |
id, |
|
|
std::function< herr_t(hid_t) > |
closing_func, |
|
|
std::string |
path = {} |
|
) |
| |
|
inline |
Open the object and bind it to a HDF5 object identified by 'id' with name 'path'. Object should be created beforehand.
- Parameters
-
id | id of the object to bind to, by rvalue reference. This is made such that the given id is 'stolen' by this object and reference count remains unchanged |
path | Name or path of the object to bind to |
◆ close()
template<HDFCategory objectcategory>
Close function which takes care of correctly closing the object and managing the reference counter.
◆ get_C_id()
template<HDFCategory objectcategory>
Get the C id object.
- Returns
- hid_t
◆ get_id_object()
template<HDFCategory objectcategory>
Get the id object.
- Returns
- hid_t C-Library identifier held by this object
◆ get_logger()
template<HDFCategory objectcategory>
Get the logger object.
- Returns
- auto
◆ get_path()
template<HDFCategory objectcategory>
Get the name or path object.
- Returns
- std::string name of the object
◆ get_refcount()
template<HDFCategory objectcategory>
Get the reference count of object.
- Returns
- auto
◆ is_valid()
template<HDFCategory objectcategory>
◆ operator=() [1/2]
template<HDFCategory objectcategory>
Copy assignment operator.
- Parameters
-
- Returns
- HDFObject&
◆ operator=() [2/2]
template<HDFCategory objectcategory>
move assignment operator
- Parameters
-
- Returns
- HDFObject&
◆ swap()
template<HDFCategory objectcategory>
swap the state of the caller with the state of the argument
- Parameters
-
◆ _id
template<HDFCategory objectcategory>
Identifier object that binds an instance of this class to an HDF5 object.
◆ _log
template<HDFCategory objectcategory>
pointer to the logger for dataio
◆ _path
template<HDFCategory objectcategory>
◆ category
template<HDFCategory objectcategory>
Named variable for template arg.
The documentation for this class was generated from the following file: