AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
An iterator type for a BivariateMap, iterating over elements in an associated BivariateSet. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/slam/BivariateMap.hpp>
Public Types | |
using | IterBase = IteratorBase< RangeIterator< Const >, SetPosition > |
using | MapIterator = typename MapType::template MapRangeIterator< Const > |
using | iterator_category = std::random_access_iterator_tag |
using | value_type = typename MapIterator::value_type |
using | reference = typename MapIterator::reference |
using | pointer = typename MapIterator::pointer |
using | difference_type = SetPosition |
using | DataRefType = typename MapIterator::DataRefType |
using | BivariateMapPtr = std::conditional_t< Const, const BivariateMap *, BivariateMap * > |
using | PositionType = SetPosition |
Equality and relational operators | |
using | iterator = IteratorBase< RangeIterator< Const >, SetPosition > |
Public Member Functions | |
RangeIterator (BivariateMapPtr sMap, PositionType pos) | |
Construct a new BivariateMap Iterator given an ElementFlatIndex. More... | |
AXOM_HOST_DEVICE reference | operator* () const |
Returns the range of elements pointed to by this iterator. More... | |
AXOM_HOST_DEVICE pointer | operator-> () const |
template<typename... ComponentIndex> | |
AXOM_HOST_DEVICE DataRefType | operator() (ComponentIndex... comp_idx) const |
Returns the iterator's value at the given component index. More... | |
DataRefType | operator[] (PositionType n) const |
Returns the first component value after n increments. More... | |
template<typename... ComponentIndex> | |
DataRefType | value (ComponentIndex... comp) const |
Return the value at the iterator's position for a given component index. Same as operator() More... | |
PositionType | firstIndex () const |
return the current iterator's first index into the BivariateSet More... | |
PositionType | secondIndex () const |
return the current iterator's second index (DenseIndex) into the BivariateSet More... | |
PositionType | flatIndex () const |
Return the current iterator's flat bivariate index. More... | |
PositionType | numComp () const |
Returns the number of components per element in the map. More... | |
Iterator advance and distance operators | |
AXOM_HOST_DEVICE RangeIterator< Const > & | operator++ () |
Pre-increment operator. More... | |
RangeIterator< Const > | operator++ (int) |
Post-increment operator. More... | |
RangeIterator< Const > & | operator-- () |
Pre-decrement operator. More... | |
RangeIterator< Const > | operator-- (int) |
Post-decrement operator. More... | |
RangeIterator< Const > & | operator+= (SetPosition n) |
Addition-assignment operator. More... | |
RangeIterator< Const > & | operator-= (SetPosition n) |
Subtraction-assignment operator. More... | |
Static Public Attributes | |
static constexpr PositionType | INVALID_POS = -2 |
Protected Member Functions | |
AXOM_HOST_DEVICE void | advance (IndexType n) |
Protected Attributes | |
SetPosition | m_pos |
An iterator type for a BivariateMap, iterating over elements in an associated BivariateSet.
Unlike the FlatIterator, which iterates over all map elements, the RangeIterator may point to a range of elements in the case of non-unit stride.
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::IterBase = IteratorBase<RangeIterator<Const>, SetPosition> |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::MapIterator = typename MapType::template MapRangeIterator<Const> |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::iterator_category = std::random_access_iterator_tag |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::value_type = typename MapIterator::value_type |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::reference = typename MapIterator::reference |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::pointer = typename MapIterator::pointer |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::difference_type = SetPosition |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::DataRefType = typename MapIterator::DataRefType |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::BivariateMapPtr = std::conditional_t<Const, const BivariateMap*, BivariateMap*> |
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::RangeIterator< Const >::PositionType = SetPosition |
|
inherited |
|
inline |
Construct a new BivariateMap Iterator given an ElementFlatIndex.
|
inline |
Returns the range of elements pointed to by this iterator.
|
inline |
|
inline |
Returns the iterator's value at the given component index.
sizeof(compIdx) == StridePolicy::NumDims
0 <= compIdx[idim] < shape()[idim]
|
inline |
Returns the first component value after n increments.
References axom::slam::operator+().
|
inline |
Return the value at the iterator's position for a given component index. Same as operator()
|
inline |
return the current iterator's first index into the BivariateSet
|
inline |
return the current iterator's second index (DenseIndex) into the BivariateSet
|
inline |
Return the current iterator's flat bivariate index.
|
inline |
Returns the number of components per element in the map.
References axom::slam::Map< T, S, IndPol, StrPol, IfacePol >::numComp().
|
inlineprotected |
|
inlineinherited |
Pre-increment operator.
|
inlineinherited |
Post-increment operator.
|
inlineinherited |
Pre-decrement operator.
|
inlineinherited |
Post-decrement operator.
|
inlineinherited |
Addition-assignment operator.
|
inlineinherited |
Subtraction-assignment operator.
|
staticconstexpr |
|
protectedinherited |