Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator Class Reference

#include <H5.h>

Collaboration diagram for Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator:
Collaboration graph
[legend]

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
 

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 184 of file H5.h.

Constructor & Destructor Documentation

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

Definition at line 282 of file H5.cpp.

Member Function Documentation

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

Definition at line 195 of file H5.h.

References m_idx.

196  {
197  return m_idx;
198  }
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 309 of file H5.cpp.

References m_currentName.

Referenced by operator++().

312 {
313  CanHaveGroupsDataSets::LinkIterator *iter =
314  static_cast<CanHaveGroupsDataSets::LinkIterator *>(op_data);
315  iter->m_currentName = name;
316  return 1;
317 }
bool Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator!= ( const LinkIterator other) const
inline

Definition at line 191 of file H5.h.

192  {
193  return !(*this == other);
194  }
const std::string & Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator* ( )

Definition at line 289 of file H5.cpp.

290 {
291  return m_currentName;
292 }
CanHaveGroupsDataSets::LinkIterator & Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator++ ( )

Definition at line 294 of file H5.cpp.

References H5_CALL, and helper().

295 {
296  m_idx = m_next;
297  if (m_idx < m_size)
298  {
299  H5_CALL(H5Literate, (m_grp->GetId(), H5_INDEX_NAME, H5_ITER_NATIVE,
300  &m_next, LinkIterator::helper, this));
301  }
302  return *this;
303 }
#define H5_CALL(func, args)
Definition: H5.h:68
bool Nektar::LibUtilities::H5::CanHaveGroupsDataSets::LinkIterator::operator== ( const LinkIterator other) const

Definition at line 304 of file H5.cpp.

References m_grp, and m_idx.

306 {
307  return (m_grp == other.m_grp && m_idx == other.m_idx);
308 }

Member Data Documentation

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

Definition at line 209 of file H5.h.

Referenced by helper().

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

Definition at line 205 of file H5.h.

Referenced by operator==().

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

Definition at line 206 of file H5.h.

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

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

Definition at line 207 of file H5.h.

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

Definition at line 208 of file H5.h.