AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
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/develop/src/axom/core/ArrayIteratorBase.hpp>
Public Types | |
using | difference_type = IndexType |
using | value_type = typename std::remove_cv< ValueType >::type |
using | reference = ValueType & |
using | pointer = ValueType * |
using | iterator_category = std::random_access_iterator_tag |
using | ArrayPointerType = ArrayType * |
Equality and relational operators | |
using | iterator = IteratorBase< ArrayIteratorBase< ArrayType, ValueType >, IndexType > |
Public Member Functions | |
ArrayIteratorBase () | |
AXOM_HOST_DEVICE | ArrayIteratorBase (IndexType pos, ArrayPointerType arr) |
AXOM_HOST_DEVICE ValueType & | operator* () const |
Returns the current iterator value. More... | |
Iterator advance and distance operators | |
AXOM_HOST_DEVICE ArrayIteratorBase< ArrayType, ValueType > & | operator++ () |
Pre-increment operator. More... | |
ArrayIteratorBase< ArrayType, ValueType > | operator++ (int) |
Post-increment operator. More... | |
ArrayIteratorBase< ArrayType, ValueType > & | operator-- () |
Pre-decrement operator. More... | |
ArrayIteratorBase< ArrayType, ValueType > | operator-- (int) |
Post-decrement operator. More... | |
ArrayIteratorBase< ArrayType, ValueType > & | operator+= (IndexType n) |
Addition-assignment operator. More... | |
ArrayIteratorBase< ArrayType, ValueType > & | operator-= (IndexType n) |
Subtraction-assignment operator. More... | |
Protected Member Functions | |
AXOM_HOST_DEVICE void | advance (IndexType n) |
Protected Attributes | |
ArrayPointerType | m_arrayPtr {nullptr} |
IndexType | m_pos |
An iterator type for Array-like types. Each increment operation advances the iterator to the next element in the Array-like.
ArrayType | The type of the array to iterate over |
ValueType | The type of the array's elements |
using axom::ArrayIteratorBase< ArrayType, ValueType >::difference_type = IndexType |
using axom::ArrayIteratorBase< ArrayType, ValueType >::value_type = typename std::remove_cv<ValueType>::type |
using axom::ArrayIteratorBase< ArrayType, ValueType >::reference = ValueType& |
using axom::ArrayIteratorBase< ArrayType, ValueType >::pointer = ValueType* |
using axom::ArrayIteratorBase< ArrayType, ValueType >::iterator_category = std::random_access_iterator_tag |
using axom::ArrayIteratorBase< ArrayType, ValueType >::ArrayPointerType = ArrayType* |
|
inherited |
|
inline |
|
inline |
|
inline |
Returns the current iterator value.
References axom::ArrayIteratorBase< ArrayType, ValueType >::m_arrayPtr, and axom::IteratorBase< ArrayIteratorBase< ArrayType, ValueType >, IndexType >::m_pos.
|
inlineprotected |
Implementation of advance() as required by IteratorBase
References axom::IteratorBase< ArrayIteratorBase< ArrayType, ValueType >, IndexType >::m_pos.
|
inlineinherited |
Pre-increment operator.
|
inlineinherited |
Post-increment operator.
|
inlineinherited |
Pre-decrement operator.
|
inlineinherited |
Post-decrement operator.
|
inlineinherited |
Addition-assignment operator.
|
inlineinherited |
Subtraction-assignment operator.
|
protected |
|
protectedinherited |