Xmipp  v3.23.11-Nereus
Public Types | Public Member Functions | List of all members
mrsrc::rsrc::iterator_t< RSRC > Class Template Reference

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = RSRC
 
using difference_type = std::ptrdiff_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 iterator_t (const rsrc_imp *cur)
 
 iterator_t (const iterator_t &i)
 
iterator_toperator= (const iterator_t &i)
 
reference operator* ()
 
pointer operator-> ()
 
iterator_toperator++ ()
 
iterator_t operator++ (int)
 
bool operator== (const iterator_t &rhs) const
 
bool operator!= (const iterator_t &rhs) const
 

Detailed Description

template<typename RSRC>
class mrsrc::rsrc::iterator_t< RSRC >

Definition at line 509 of file utilities.cpp.

Member Typedef Documentation

◆ difference_type

template<typename RSRC >
using mrsrc::rsrc::iterator_t< RSRC >::difference_type = std::ptrdiff_t

Definition at line 514 of file utilities.cpp.

◆ iterator_category

template<typename RSRC >
using mrsrc::rsrc::iterator_t< RSRC >::iterator_category = std::input_iterator_tag

Definition at line 512 of file utilities.cpp.

◆ pointer

template<typename RSRC >
using mrsrc::rsrc::iterator_t< RSRC >::pointer = value_type *

Definition at line 515 of file utilities.cpp.

◆ reference

template<typename RSRC >
using mrsrc::rsrc::iterator_t< RSRC >::reference = value_type &

Definition at line 516 of file utilities.cpp.

◆ value_type

template<typename RSRC >
using mrsrc::rsrc::iterator_t< RSRC >::value_type = RSRC

Definition at line 513 of file utilities.cpp.

Constructor & Destructor Documentation

◆ iterator_t() [1/2]

template<typename RSRC >
mrsrc::rsrc::iterator_t< RSRC >::iterator_t ( const rsrc_imp cur)
inline

Definition at line 518 of file utilities.cpp.

519  : m_cur(cur)
520  {
521  }

◆ iterator_t() [2/2]

template<typename RSRC >
mrsrc::rsrc::iterator_t< RSRC >::iterator_t ( const iterator_t< RSRC > &  i)
inline

Definition at line 523 of file utilities.cpp.

524  : m_cur(i.m_cur)
525  {
526  }
#define i

Member Function Documentation

◆ operator!=()

template<typename RSRC >
bool mrsrc::rsrc::iterator_t< RSRC >::operator!= ( const iterator_t< RSRC > &  rhs) const
inline

Definition at line 554 of file utilities.cpp.

554 { return m_cur.m_impl != rhs.m_cur.m_impl; }

◆ operator*()

template<typename RSRC >
reference mrsrc::rsrc::iterator_t< RSRC >::operator* ( )
inline

Definition at line 534 of file utilities.cpp.

534 { return m_cur; }

◆ operator++() [1/2]

template<typename RSRC >
iterator_t& mrsrc::rsrc::iterator_t< RSRC >::operator++ ( )
inline

Definition at line 537 of file utilities.cpp.

538  {
539  if (m_cur.m_impl->m_next)
540  m_cur.m_impl = rsrc_data::instance().index() + m_cur.m_impl->m_next;
541  else
542  m_cur.m_impl = nullptr;
543  return *this;
544  }
static rsrc_data & instance()
Definition: utilities.cpp:439
const rsrc_imp * index() const
Definition: utilities.cpp:445

◆ operator++() [2/2]

template<typename RSRC >
iterator_t mrsrc::rsrc::iterator_t< RSRC >::operator++ ( int  )
inline

Definition at line 546 of file utilities.cpp.

547  {
548  auto tmp(*this);
549  this->operator++();
550  return tmp;
551  }
iterator_t & operator++()
Definition: utilities.cpp:537

◆ operator->()

template<typename RSRC >
pointer mrsrc::rsrc::iterator_t< RSRC >::operator-> ( )
inline

Definition at line 535 of file utilities.cpp.

535 { return &m_cur; }

◆ operator=()

template<typename RSRC >
iterator_t& mrsrc::rsrc::iterator_t< RSRC >::operator= ( const iterator_t< RSRC > &  i)
inline

Definition at line 528 of file utilities.cpp.

529  {
530  m_cur = i.m_cur;
531  return *this;
532  }
#define i

◆ operator==()

template<typename RSRC >
bool mrsrc::rsrc::iterator_t< RSRC >::operator== ( const iterator_t< RSRC > &  rhs) const
inline

Definition at line 553 of file utilities.cpp.

553 { return m_cur.m_impl == rhs.m_cur.m_impl; }

The documentation for this class was generated from the following file: