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

An std-compliant forward iterator for an 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 >::iterator:

Public Types

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

Public Member Functions

 iterator (CollectionType *coll, bool is_first)
 
IndexType index () const
 
pointer operator-> ()
 
reference operator* ()
 
Iterator advance and distance operators
AXOM_HOST_DEVICE iteratoroperator++ ()
 Pre-increment operator. More...
 
iterator operator++ (int)
 Post-increment operator. More...
 
iteratoroperator-- ()
 Pre-decrement operator. More...
 
iterator operator-- (int)
 Post-decrement operator. More...
 
iteratoroperator+= (IndexType n)
 Addition-assignment operator. More...
 
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 >::iterator

An std-compliant forward iterator for an ItemCollection.

Member Typedef Documentation

◆ difference_type

◆ value_type

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

◆ reference

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

◆ pointer

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

◆ iterator_category

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

◆ iterator

Constructor & Destructor Documentation

◆ iterator()

Member Function Documentation

◆ index()

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

◆ operator->()

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

◆ operator*()

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

◆ advance()

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

Implementation of advance() as required by IteratorBase.

◆ operator++() [1/2]

AXOM_HOST_DEVICE iterator & axom::IteratorBase< iterator , IndexType >::operator++ ( )
inlineinherited

Pre-increment operator.

◆ operator++() [2/2]

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

Post-increment operator.

◆ operator--() [1/2]

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

Pre-decrement operator.

◆ operator--() [2/2]

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

Post-decrement operator.

◆ operator+=()

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

Addition-assignment operator.

◆ operator-=()

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

Subtraction-assignment operator.

Member Data Documentation

◆ m_pos

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

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