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::CanHaveAttributes::AttrIterator Class Reference

#include <H5.h>

Collaboration diagram for Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator:
Collaboration graph
[legend]

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

Constructor & Destructor Documentation

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

Definition at line 353 of file H5.cpp.

Member Function Documentation

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

Definition at line 267 of file H5.h.

References m_idx.

268  {
269  return m_idx;
270  }
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 380 of file H5.cpp.

References m_currentName.

Referenced by operator++().

383 {
384  CanHaveAttributes::AttrIterator *iter =
385  static_cast<CanHaveAttributes::AttrIterator *>(op_data);
386  iter->m_currentName = name;
387  return 1;
388 }
bool Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator!= ( const AttrIterator other) const
inline

Definition at line 263 of file H5.h.

264  {
265  return !(*this == other);
266  }
const std::string & Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator* ( )

Definition at line 360 of file H5.cpp.

361 {
362  return m_currentName;
363 }
CanHaveAttributes::AttrIterator & Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator++ ( )

Definition at line 364 of file H5.cpp.

References H5_CALL, and helper().

365 {
366  m_idx = m_next;
367  if (m_next < m_size)
368  {
369  H5_CALL(H5Aiterate2, (m_obj->GetId(), H5_INDEX_CRT_ORDER, H5_ITER_INC,
370  &m_next, AttrIterator::helper, this));
371  }
372  return *this;
373 }
#define H5_CALL(func, args)
Definition: H5.h:68
static herr_t helper(hid_t g_id, const char *name, const H5A_info_t *info, void *op_data)
Definition: H5.cpp:380
bool Nektar::LibUtilities::H5::CanHaveAttributes::AttrIterator::operator== ( const AttrIterator other) const

Definition at line 374 of file H5.cpp.

References m_idx, and m_obj.

376 {
377  return m_obj == other.m_obj && m_idx == other.m_idx;
378 }

Member Data Documentation

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

Definition at line 281 of file H5.h.

Referenced by helper().

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

Definition at line 278 of file H5.h.

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

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

Definition at line 279 of file H5.h.

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

Definition at line 277 of file H5.h.

Referenced by operator==().

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

Definition at line 280 of file H5.h.