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

#include <H5.h>

Public Member Functions

 AttrIterator (CanHaveAttributesSharedPtr obj, hsize_t idx=0)
 
const std::string & operator* ()
 
AttrIteratoroperator++ ()
 
bool operator== (const AttrIterator &other) const
 
bool operator!= (const AttrIterator &other) const
 
hsize_t GetPos () const
 

Static Private Member Functions

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

Private Attributes

CanHaveAttributesSharedPtr m_obj
 
hsize_t m_idx
 
hsize_t m_next
 
hsize_t m_size
 
std::string m_currentName
 

Detailed Description

Definition at line 262 of file H5.h.

Constructor & Destructor Documentation

◆ AttrIterator()

Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::AttrIterator ( CanHaveAttributesSharedPtr  obj,
hsize_t  idx = 0 
)

Definition at line 361 of file H5.cpp.

Member Function Documentation

◆ GetPos()

hsize_t Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::GetPos ( ) const
inline

Definition at line 273 of file H5.h.

274 {
275 return m_idx;
276 }

References m_idx.

◆ helper()

herr_t Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::helper ( hid_t  g_id,
const char *  name,
const H5A_info_t *  info,
void op_data 
)
staticprivate

Definition at line 388 of file H5.cpp.

391{
392 CanHaveAttributes::AttrIterator *iter =
393 static_cast<CanHaveAttributes::AttrIterator *>(op_data);
394 iter->m_currentName = name;
395 return 1;
396}

References m_currentName, and CellMLToNektar.pycml::name.

Referenced by operator++().

◆ operator!=()

bool Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator!= ( const AttrIterator other) const
inline

Definition at line 269 of file H5.h.

270 {
271 return !(*this == other);
272 }

◆ operator*()

const std::string & Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator* ( )

Definition at line 368 of file H5.cpp.

369{
370 return m_currentName;
371}

◆ operator++()

CanHaveAttributes::AttrIterator & Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator++ ( )

Definition at line 372 of file H5.cpp.

373{
374 m_idx = m_next;
375 if (m_next < m_size)
376 {
377 H5_CALL(H5Aiterate2, (m_obj->GetId(), H5_INDEX_CRT_ORDER, H5_ITER_INC,
379 }
380 return *this;
381}
#define H5_CALL(func, args)
Definition: H5.h:58
static herr_t helper(hid_t g_id, const char *name, const H5A_info_t *info, void *op_data)
Definition: H5.cpp:388

References H5_CALL, and helper().

◆ operator==()

bool Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator== ( const AttrIterator other) const

Definition at line 382 of file H5.cpp.

384{
385 return m_obj == other.m_obj && m_idx == other.m_idx;
386}

References m_idx, and m_obj.

Member Data Documentation

◆ m_currentName

std::string Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::m_currentName
private

Definition at line 285 of file H5.h.

Referenced by helper().

◆ m_idx

hsize_t Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::m_idx
private

Definition at line 282 of file H5.h.

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

◆ m_next

hsize_t Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::m_next
private

Definition at line 283 of file H5.h.

◆ m_obj

CanHaveAttributesSharedPtr Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::m_obj
private

Definition at line 281 of file H5.h.

Referenced by operator==().

◆ m_size

hsize_t Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::m_size
private

Definition at line 284 of file H5.h.