AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator Class Reference

An iterator for SubMap, based on MapIterator. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/slam/SubMap.hpp>

Inheritance diagram for axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator:

Public Types

using IterBase = IteratorBase< RangeIterator, SetPosition >
 
using iter = Iterator
 
using PositionType = SetPosition
 
using iterator_category = typename MapRangeIterator::iterator_category
 
using value_type = typename MapRangeIterator::value_type
 
using reference = typename MapRangeIterator::reference
 
using pointer = typename MapRangeIterator::pointer
 
using difference_type = SetPosition
 
Equality and relational operators
using iterator = IteratorBase< RangeIterator, SetPosition >
 

Public Member Functions

PositionType getParentPosition (PositionType subset_pos)
 
AXOM_HOST_DEVICE RangeIterator (PositionType pos, SubMap sMap)
 
AXOM_HOST_DEVICE reference operator* () const
 Returns the current iterator value. More...
 
AXOM_HOST_DEVICE pointer operator-> () const
 
template<typename... ComponentIndex>
AXOM_HOST_DEVICE DataRefType operator() (ComponentIndex... comp_idx) const
 
template<typename... ComponentIndex>
AXOM_HOST_DEVICE DataRefType value (ComponentIndex... comp_idx) const
 
value_type operator[] (PositionType n) const
 
SetElement index () const
 Returns the set element mapped by this iterator. More...
 
SetPosition flatIndex () const
 Returns the flat index in the original map pointed to by this iterator. More...
 
SetPosition submapIndex () const
 Returns the index into the submap pointed to by this iterator. More...
 
PositionType numComp () const
 Returns the number of components per element in the Map. More...
 
Iterator advance and distance operators
AXOM_HOST_DEVICE RangeIteratoroperator++ ()
 Pre-increment operator. More...
 
RangeIterator operator++ (int)
 Post-increment operator. More...
 
RangeIteratoroperator-- ()
 Pre-decrement operator. More...
 
RangeIterator operator-- (int)
 Post-decrement operator. More...
 
RangeIteratoroperator+= (SetPosition n)
 Addition-assignment operator. More...
 
RangeIteratoroperator-= (SetPosition n)
 Subtraction-assignment operator. More...
 

Protected Member Functions

AXOM_HOST_DEVICE void advance (PositionType n)
 

Protected Attributes

SetPosition m_pos
 

Detailed Description

template<typename SuperMapType, typename SubsetType, typename InterfacePolicy = policies::VirtualInterface>
class axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator

An iterator for SubMap, based on MapIterator.

See also
MapIterator

Member Typedef Documentation

◆ IterBase

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::IterBase = IteratorBase<RangeIterator, SetPosition>

◆ iter

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::iter = Iterator

◆ PositionType

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::PositionType = SetPosition

◆ iterator_category

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::iterator_category = typename MapRangeIterator::iterator_category

◆ value_type

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::value_type = typename MapRangeIterator::value_type

◆ reference

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::reference = typename MapRangeIterator::reference

◆ pointer

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::pointer = typename MapRangeIterator::pointer

◆ difference_type

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
using axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::difference_type = SetPosition

◆ iterator

Constructor & Destructor Documentation

◆ RangeIterator()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
AXOM_HOST_DEVICE axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::RangeIterator ( PositionType  pos,
SubMap  sMap 
)
inline

Member Function Documentation

◆ getParentPosition()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
PositionType axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::getParentPosition ( PositionType  subset_pos)
inline

◆ operator*()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
AXOM_HOST_DEVICE reference axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::operator* ( ) const
inline

Returns the current iterator value.

◆ operator->()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
AXOM_HOST_DEVICE pointer axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::operator-> ( ) const
inline

◆ operator()()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
template<typename... ComponentIndex>
AXOM_HOST_DEVICE DataRefType axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::operator() ( ComponentIndex...  comp_idx) const
inline

◆ value()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
template<typename... ComponentIndex>
AXOM_HOST_DEVICE DataRefType axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::value ( ComponentIndex...  comp_idx) const
inline

◆ operator[]()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
value_type axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::operator[] ( PositionType  n) const
inline

◆ index()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
SetElement axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::index ( ) const
inline

Returns the set element mapped by this iterator.

◆ flatIndex()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
SetPosition axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::flatIndex ( ) const
inline

Returns the flat index in the original map pointed to by this iterator.

◆ submapIndex()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
SetPosition axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::submapIndex ( ) const
inline

Returns the index into the submap pointed to by this iterator.

◆ numComp()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
PositionType axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::numComp ( ) const
inline

Returns the number of components per element in the Map.

◆ advance()

template<typename SuperMapType , typename SubsetType , typename InterfacePolicy = policies::VirtualInterface>
AXOM_HOST_DEVICE void axom::slam::SubMap< SuperMapType, SubsetType, InterfacePolicy >::RangeIterator::advance ( PositionType  n)
inlineprotected

Implementation of advance() as required by IteratorBase

◆ operator++() [1/2]

Pre-increment operator.

◆ operator++() [2/2]

RangeIterator axom::IteratorBase< RangeIterator , SetPosition >::operator++ ( int  )
inlineinherited

Post-increment operator.

◆ operator--() [1/2]

RangeIterator & axom::IteratorBase< RangeIterator , SetPosition >::operator-- ( )
inlineinherited

Pre-decrement operator.

◆ operator--() [2/2]

RangeIterator axom::IteratorBase< RangeIterator , SetPosition >::operator-- ( int  )
inlineinherited

Post-decrement operator.

◆ operator+=()

RangeIterator & axom::IteratorBase< RangeIterator , SetPosition >::operator+= ( SetPosition  n)
inlineinherited

Addition-assignment operator.

◆ operator-=()

RangeIterator & axom::IteratorBase< RangeIterator , SetPosition >::operator-= ( SetPosition  n)
inlineinherited

Subtraction-assignment operator.

Member Data Documentation

◆ m_pos

SetPosition axom::IteratorBase< RangeIterator , SetPosition >::m_pos
protectedinherited

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