Nektar++
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | Friends | List of all members
Nektar::LibUtilities::H5::Group Class Reference

HDF5 Group wrapper. More...

#include <H5.h>

Inheritance diagram for Nektar::LibUtilities::H5::Group:
[legend]

Public Member Functions

 ~Group () override
 
std::vector< std::string > GetElementNames ()
 
CanHaveAttributesSharedPtr operator[] (hsize_t idx)
 
CanHaveAttributesSharedPtr operator[] (const std::string &key)
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::CanHaveAttributes
AttributeSharedPtr CreateAttribute (const std::string &name, DataTypeSharedPtr type, DataSpaceSharedPtr space)
 
AttributeSharedPtr OpenAttribute (const std::string &name)
 
template<class T >
void SetAttribute (const std::string &name, const T &value)
 
template<class T >
void SetAttribute (const std::string &name, const std::vector< T > &value)
 
template<class T >
void GetAttribute (const std::string &name, T &value)
 
template<class T >
void GetAttribute (const std::string &name, std::vector< T > &value)
 
int GetNumAttr () const
 
AttrIterator attr_begin ()
 
AttrIterator attr_end ()
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::Object
void Close ()
 
hid_t GetId () const
 
 operator hid_t () const
 
- Public Member Functions inherited from Nektar::LibUtilities::H5::CanHaveGroupsDataSets
GroupSharedPtr CreateGroup (const std::string &name, PListSharedPtr createPL=PList::Default(), PListSharedPtr accessPL=PList::Default())
 
DataSetSharedPtr CreateDataSet (const std::string &name, DataTypeSharedPtr type, DataSpaceSharedPtr space, PListSharedPtr createPL=PList::Default(), PListSharedPtr accessPL=PList::Default())
 
template<class T >
DataSetSharedPtr CreateWriteDataSet (const std::string &name, const std::vector< T > &data, PListSharedPtr createPL=PList::Default(), PListSharedPtr accessPL=PList::Default())
 
GroupSharedPtr OpenGroup (const std::string &name, PListSharedPtr accessPL=PList::Default()) const
 
DataSetSharedPtr OpenDataSet (const std::string &name, PListSharedPtr accessPL=PList::Default()) const
 
bool ContainsDataSet (std::string nm)
 
hsize_t GetNumElements ()
 

Protected Member Functions

void v_Close () override
 
hsize_t v_GetNumElements () override
 
- Protected Member Functions inherited from Nektar::LibUtilities::H5::Object
 Object ()
 
 Object (hid_t id)
 
virtual ~Object ()
 
- Protected Member Functions inherited from Nektar::LibUtilities::H5::CanHaveGroupsDataSets
LinkIterator begin ()
 
LinkIterator end ()
 

Private Member Functions

 Group (hid_t id)
 

Friends

class CanHaveGroupsDataSets
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::LibUtilities::H5::Object
hid_t m_Id
 

Detailed Description

HDF5 Group wrapper.

Definition at line 495 of file H5.h.

Constructor & Destructor Documentation

◆ ~Group()

Nektar::LibUtilities::H5::Group::~Group ( )
override

Definition at line 677 of file H5.cpp.

678{
679 if (m_Id != H5I_INVALID_HID)
680 {
681 Close();
682 }
683}

References Nektar::LibUtilities::H5::Object::Close(), and Nektar::LibUtilities::H5::Object::m_Id.

◆ Group()

Nektar::LibUtilities::H5::Group::Group ( hid_t  id)
private

Definition at line 673 of file H5.cpp.

673 : Object(id)
674{
675}

Member Function Documentation

◆ GetElementNames()

std::vector< std::string > Nektar::LibUtilities::H5::Group::GetElementNames ( )

Definition at line 698 of file H5.cpp.

699{
700 std::vector<std::string> ret;
701 for (int i = 0; i < GetNumElements(); i++)
702 {
703 char name[50];
704 H5Gget_objname_by_idx(m_Id, (size_t)i, name, 50);
705 ret.push_back(std::string(name));
706 }
707 return ret;
708}

References Nektar::LibUtilities::H5::CanHaveGroupsDataSets::GetNumElements(), and Nektar::LibUtilities::H5::Object::m_Id.

◆ operator[]() [1/2]

CanHaveAttributesSharedPtr Nektar::LibUtilities::H5::Group::operator[] ( const std::string &  key)

◆ operator[]() [2/2]

CanHaveAttributesSharedPtr Nektar::LibUtilities::H5::Group::operator[] ( hsize_t  idx)

◆ v_Close()

void Nektar::LibUtilities::H5::Group::v_Close ( )
overrideprotectedvirtual

Implements Nektar::LibUtilities::H5::Object.

Definition at line 685 of file H5.cpp.

686{
687 H5_CALL(H5Gclose, (m_Id));
688 m_Id = H5I_INVALID_HID;
689}
#define H5_CALL(func, args)
Definition H5.h:58

References H5_CALL, and Nektar::LibUtilities::H5::Object::m_Id.

◆ v_GetNumElements()

hsize_t Nektar::LibUtilities::H5::Group::v_GetNumElements ( )
overrideprotectedvirtual

Implements Nektar::LibUtilities::H5::CanHaveGroupsDataSets.

Definition at line 691 of file H5.cpp.

692{
693 H5G_info_t info;
694 H5_CALL(H5Gget_info, (m_Id, &info));
695 return info.nlinks;
696}

References H5_CALL, and Nektar::LibUtilities::H5::Object::m_Id.

Friends And Related Symbol Documentation

◆ CanHaveGroupsDataSets

friend class CanHaveGroupsDataSets
friend

Definition at line 510 of file H5.h.