AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::ArrayIteratorBase< ArrayType > Class Template Reference

An iterator type for Array-like types. Each increment operation advances the iterator to the next element in the Array-like. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/v0.6.1/src/axom/core/ArrayIteratorBase.hpp>

Inheritance diagram for axom::ArrayIteratorBase< ArrayType >:

Public Member Functions

 ArrayIteratorBase (IndexType pos, ArrayType *arr)
 
ArrayType::value_type & operator* ()
 Returns the current iterator value. More...
 
Iterator advance and distance operators
ArrayIteratorBase< ArrayType > & operator++ ()
 Pre-increment operator. More...
 
ArrayIteratorBase< ArrayType > operator++ (int)
 Post-increment operator. More...
 
ArrayIteratorBase< ArrayType > & operator-- ()
 Pre-decrement operator. More...
 
ArrayIteratorBase< ArrayType > operator-- (int)
 Post-decrement operator. More...
 
ArrayIteratorBase< ArrayType > & operator+= (IndexType n)
 Addition-assignment operator. More...
 
ArrayIteratorBase< ArrayType > & operator-= (IndexType n)
 Subtraction-assignment operator. More...
 

Protected Member Functions

void advance (IndexType n)
 

Protected Attributes

ArrayType *const m_arrayPtr
 
IndexType m_pos
 

Detailed Description

template<typename ArrayType>
class axom::ArrayIteratorBase< ArrayType >

An iterator type for Array-like types. Each increment operation advances the iterator to the next element in the Array-like.

Template Parameters
ArrayTypeThe type of the array to iterate over

Constructor & Destructor Documentation

◆ ArrayIteratorBase()

template<typename ArrayType >
axom::ArrayIteratorBase< ArrayType >::ArrayIteratorBase ( IndexType  pos,
ArrayType *  arr 
)
inline

Member Function Documentation

◆ operator*()

template<typename ArrayType >
ArrayType::value_type& axom::ArrayIteratorBase< ArrayType >::operator* ( )
inline

◆ advance()

template<typename ArrayType >
void axom::ArrayIteratorBase< ArrayType >::advance ( IndexType  n)
inlineprotected

◆ operator++() [1/2]

ArrayIteratorBase< ArrayType > & axom::IteratorBase< ArrayIteratorBase< ArrayType > , IndexType >::operator++ ( )
inlineinherited

Pre-increment operator.

◆ operator++() [2/2]

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

Post-increment operator.

◆ operator--() [1/2]

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

Pre-decrement operator.

◆ operator--() [2/2]

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

Post-decrement operator.

◆ operator+=()

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

Addition-assignment operator.

◆ operator-=()

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

Subtraction-assignment operator.

Member Data Documentation

◆ m_arrayPtr

template<typename ArrayType >
ArrayType* const axom::ArrayIteratorBase< ArrayType >::m_arrayPtr
protected

◆ m_pos


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