AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const > Class Template Reference

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

Inheritance diagram for axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >:

Public Types

using DataRefType = std::conditional_t< Const, const DataType &, DataType & >
 
using BivariateMapPtr = std::conditional_t< Const, const BivariateMap *, BivariateMap * >
 
using PositionType = SetPosition
 
Equality and relational operators
using iterator = IteratorBase< FlatIterator< Const >, SetPosition >
 

Public Member Functions

 FlatIterator (BivariateMapPtr sMap, PositionType pos)
 Construct a new BivariateMap Iterator given an ElementFlatIndex. More...
 
AXOM_HOST_DEVICE DataRefType operator* () const
 Returns the current map element pointed to by the iterator. More...
 
AXOM_HOST_DEVICE pointer operator-> () const
 
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 compIndex () const
 return the current iterator's component index More...
 
AXOM_HOST_DEVICE PositionType numComp () const
 Returns the number of components per element in the map. More...
 
Iterator advance and distance operators
AXOM_HOST_DEVICE FlatIterator< Const > & operator++ ()
 Pre-increment operator. More...
 
FlatIterator< Const > operator++ (int)
 Post-increment operator. More...
 
FlatIterator< Const > & operator-- ()
 Pre-decrement operator. More...
 
FlatIterator< Const > operator-- (int)
 Post-decrement operator. More...
 
FlatIterator< Const > & operator+= (SetPosition n)
 Addition-assignment operator. More...
 
FlatIterator< 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
 

Member Typedef Documentation

◆ DataRefType

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::DataRefType = std::conditional_t<Const, const DataType&, DataType&>

◆ BivariateMapPtr

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::BivariateMapPtr = std::conditional_t<Const, const BivariateMap*, BivariateMap*>

◆ PositionType

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::PositionType = SetPosition

◆ iterator

Constructor & Destructor Documentation

◆ FlatIterator()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::FlatIterator ( BivariateMapPtr  sMap,
PositionType  pos 
)
inline

Construct a new BivariateMap Iterator given an ElementFlatIndex.

Member Function Documentation

◆ operator*()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
AXOM_HOST_DEVICE DataRefType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::operator* ( ) const
inline

Returns the current map element pointed to by the iterator.

◆ operator->()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
AXOM_HOST_DEVICE pointer axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::operator-> ( ) const
inline

◆ firstIndex()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
PositionType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::firstIndex ( ) const
inline

return the current iterator's first index into the BivariateSet

◆ secondIndex()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
PositionType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::secondIndex ( ) const
inline

return the current iterator's second index (DenseIndex) into the BivariateSet

◆ compIndex()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
PositionType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::compIndex ( ) const
inline

return the current iterator's component index

References axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::numComp().

◆ numComp()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
AXOM_HOST_DEVICE PositionType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::numComp ( ) const
inline

Returns the number of components per element in the map.

References axom::slam::Map< T, S, IndPol, StrPol, IfacePol >::numComp().

◆ advance()

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
AXOM_HOST_DEVICE void axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::advance ( IndexType  n)
inlineprotected

◆ operator++() [1/2]

AXOM_HOST_DEVICE FlatIterator< Const > & axom::IteratorBase< FlatIterator< Const > , SetPosition >::operator++ ( )
inlineinherited

Pre-increment operator.

◆ operator++() [2/2]

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

Post-increment operator.

◆ operator--() [1/2]

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

Pre-decrement operator.

◆ operator--() [2/2]

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

Post-decrement operator.

◆ operator+=()

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

Addition-assignment operator.

◆ operator-=()

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

Subtraction-assignment operator.

Member Data Documentation

◆ INVALID_POS

template<typename T , typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>, typename IfacePol = policies::VirtualInterface>
template<bool Const>
constexpr PositionType axom::slam::BivariateMap< T, BSet, IndPol, StrPol, IfacePol >::FlatIterator< Const >::INVALID_POS = -2
staticconstexpr

◆ m_pos

SetPosition axom::IteratorBase< FlatIterator< Const > , SetPosition >::m_pos
protectedinherited

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