AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::sidre::ItemCollection< T >::const_iterator Class Reference

An std-compliant forward iterator for a const ItemCollection. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/sidre/core/ItemCollection.hpp>

Inheritance diagram for axom::sidre::ItemCollection< T >::const_iterator:

Public Types

using difference_type = IndexType
 
using value_type = typename std::remove_cv< T >::type
 
using reference = const T &
 
using pointer = const T *
 
using iterator_category = std::forward_iterator_tag
 
Equality and relational operators
using iterator = IteratorBase< const_iterator, IndexType >
 

Public Member Functions

 const_iterator (const CollectionType *coll, bool is_first)
 
IndexType index () const
 
pointer operator-> ()
 
reference operator* ()
 
Iterator advance and distance operators
AXOM_HOST_DEVICE const_iteratoroperator++ ()
 Pre-increment operator. More...
 
const_iterator operator++ (int)
 Post-increment operator. More...
 
const_iteratoroperator-- ()
 Pre-decrement operator. More...
 
const_iterator operator-- (int)
 Post-decrement operator. More...
 
const_iteratoroperator+= (IndexType n)
 Addition-assignment operator. More...
 
const_iteratoroperator-= (IndexType n)
 Subtraction-assignment operator. More...
 

Protected Member Functions

void advance (IndexType n)
 Implementation of advance() as required by IteratorBase. More...
 

Protected Attributes

IndexType m_pos
 

Detailed Description

template<typename T>
class axom::sidre::ItemCollection< T >::const_iterator

An std-compliant forward iterator for a const ItemCollection.

Member Typedef Documentation

◆ difference_type

◆ value_type

template<typename T >
using axom::sidre::ItemCollection< T >::const_iterator::value_type = typename std::remove_cv<T>::type

◆ reference

template<typename T >
using axom::sidre::ItemCollection< T >::const_iterator::reference = const T&

◆ pointer

template<typename T >
using axom::sidre::ItemCollection< T >::const_iterator::pointer = const T*

◆ iterator_category

template<typename T >
using axom::sidre::ItemCollection< T >::const_iterator::iterator_category = std::forward_iterator_tag

◆ iterator

Constructor & Destructor Documentation

◆ const_iterator()

template<typename T >
axom::sidre::ItemCollection< T >::const_iterator::const_iterator ( const CollectionType coll,
bool  is_first 
)
inline

Member Function Documentation

◆ index()

template<typename T >
IndexType axom::sidre::ItemCollection< T >::const_iterator::index ( ) const
inline

◆ operator->()

template<typename T >
pointer axom::sidre::ItemCollection< T >::const_iterator::operator-> ( )
inline

◆ operator*()

template<typename T >
reference axom::sidre::ItemCollection< T >::const_iterator::operator* ( )
inline

◆ advance()

template<typename T >
void axom::sidre::ItemCollection< T >::const_iterator::advance ( IndexType  n)
inlineprotected

Implementation of advance() as required by IteratorBase.

◆ operator++() [1/2]

Pre-increment operator.

◆ operator++() [2/2]

const_iterator axom::IteratorBase< const_iterator , IndexType >::operator++ ( int  )
inlineinherited

Post-increment operator.

◆ operator--() [1/2]

const_iterator & axom::IteratorBase< const_iterator , IndexType >::operator-- ( )
inlineinherited

Pre-decrement operator.

◆ operator--() [2/2]

const_iterator axom::IteratorBase< const_iterator , IndexType >::operator-- ( int  )
inlineinherited

Post-decrement operator.

◆ operator+=()

const_iterator & axom::IteratorBase< const_iterator , IndexType >::operator+= ( IndexType  n)
inlineinherited

Addition-assignment operator.

◆ operator-=()

const_iterator & axom::IteratorBase< const_iterator , IndexType >::operator-= ( IndexType  n)
inlineinherited

Subtraction-assignment operator.

Member Data Documentation

◆ m_pos

IndexType axom::IteratorBase< const_iterator , IndexType >::m_pos
protectedinherited

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