Nektar++
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator Class Reference

#include <H5.h>

Public Member Functions

 LinkIterator (CanHaveGroupsDataSetsSharedPtr grp, hsize_t idx=0)
 
const std::string & operator* ()
 
LinkIteratoroperator++ ()
 
bool operator== (const LinkIterator &other) const
 
bool operator!= (const LinkIterator &other) const
 
hsize_t GetPos () const
 
std::string GetName () const
 

Static Private Member Functions

static herr_t helper (hid_t g_id, const char *name, const H5L_info_t *info, void *op_data)
 

Private Attributes

CanHaveGroupsDataSetsSharedPtr m_grp
 
hsize_t m_idx
 
hsize_t m_next
 
hsize_t m_size
 
std::string m_currentName
 

Detailed Description

Definition at line 179 of file H5.h.

Constructor & Destructor Documentation

◆ LinkIterator()

Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::LinkIterator ( CanHaveGroupsDataSetsSharedPtr  grp,
hsize_t  idx = 0 
)

Definition at line 290 of file H5.cpp.

Member Function Documentation

◆ GetName()

std::string Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::GetName ( ) const
inline

Definition at line 195 of file H5.h.

References m_currentName.

◆ GetPos()

hsize_t Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::GetPos ( ) const
inline

Definition at line 190 of file H5.h.

191 {
192 return m_idx;
193 }

References m_idx.

◆ helper()

herr_t Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::helper ( hid_t  g_id,
const char *  name,
const H5L_info_t *  info,
void op_data 
)
staticprivate

Definition at line 317 of file H5.cpp.

320{
321 CanHaveGroupsDataSets::LinkIterator *iter =
322 static_cast<CanHaveGroupsDataSets::LinkIterator *>(op_data);
323 iter->m_currentName = name;
324 return 1;
325}

References m_currentName, and CellMLToNektar.pycml::name.

Referenced by operator++().

◆ operator!=()

bool Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator!= ( const LinkIterator other) const
inline

Definition at line 186 of file H5.h.

187 {
188 return !(*this == other);
189 }

◆ operator*()

const std::string & Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator* ( )

Definition at line 297 of file H5.cpp.

298{
299 return m_currentName;
300}

◆ operator++()

CanHaveGroupsDataSets::LinkIterator & Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator++ ( )

Definition at line 301 of file H5.cpp.

303{
304 m_idx = m_next;
305 if (m_idx < m_size)
306 {
307 H5_CALL(H5Literate, (m_grp->GetId(), H5_INDEX_NAME, H5_ITER_NATIVE,
309 }
310 return *this;
311}
#define H5_CALL(func, args)
Definition: H5.h:58

References H5_CALL, and helper().

◆ operator==()

bool Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator== ( const LinkIterator other) const

Definition at line 312 of file H5.cpp.

314{
315 return (m_grp == other.m_grp && m_idx == other.m_idx);
316}

References m_grp, and m_idx.

Member Data Documentation

◆ m_currentName

std::string Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::m_currentName
private

Definition at line 207 of file H5.h.

Referenced by GetName(), and helper().

◆ m_grp

CanHaveGroupsDataSetsSharedPtr Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::m_grp
private

Definition at line 203 of file H5.h.

Referenced by operator==().

◆ m_idx

hsize_t Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::m_idx
private

Definition at line 204 of file H5.h.

Referenced by GetPos(), and operator==().

◆ m_next

hsize_t Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::m_next
private

Definition at line 205 of file H5.h.

◆ m_size

hsize_t Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::m_size
private

Definition at line 206 of file H5.h.