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

Implements a forward iterator concept on a BivariateSet type. More...

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

Inheritance diagram for axom::slam::BivariateSetIterator< BivariateSetType >:

Public Types

using IndexType = typename BivariateSetType::PositionType
 
using BaseType = IteratorBase< BivariateSetIterator< BivariateSetType >, IndexType >
 
using difference_type = IndexType
 
using value_type = std::pair< IndexType, IndexType >
 
using reference = value_type &
 
using pointer = value_type *
 
using iterator_category = std::forward_iterator_tag
 
Equality and relational operators
using iterator = IteratorBase< BivariateSetIterator< BivariateSetType >, BivariateSetType::PositionType >
 

Public Member Functions

 BivariateSetIterator (const BivariateSetType *bset, IndexType flatPos=0)
 
std::pair< IndexType, IndexTypeoperator* () const
 
IndexType firstIndex () const
 Return the first set index pointed to by this iterator. More...
 
IndexType secondIndex () const
 Return the second set index pointed to by this iterator. More...
 
AXOM_HOST_DEVICE IndexType flatIndex () const
 Return the flat iteration index of this iterator. More...
 
Iterator advance and distance operators
AXOM_HOST_DEVICE BivariateSetIterator< BivariateSetType > & operator++ ()
 Pre-increment operator. More...
 
BivariateSetIterator< BivariateSetType > operator++ (int)
 Post-increment operator. More...
 
BivariateSetIterator< BivariateSetType > & operator-- ()
 Pre-decrement operator. More...
 
BivariateSetIterator< BivariateSetType > operator-- (int)
 Post-decrement operator. More...
 
BivariateSetIterator< BivariateSetType > & operator+= (BivariateSetType::PositionType n)
 Addition-assignment operator. More...
 
BivariateSetIterator< BivariateSetType > & operator-= (BivariateSetType::PositionType n)
 Subtraction-assignment operator. More...
 

Protected Member Functions

AXOM_HOST_DEVICE void advance (IndexType n)
 

Protected Attributes

BivariateSetType::PositionType m_pos
 

Detailed Description

template<typename BivariateSetType>
class axom::slam::BivariateSetIterator< BivariateSetType >

Implements a forward iterator concept on a BivariateSet type.

Member Typedef Documentation

◆ IndexType

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::IndexType = typename BivariateSetType::PositionType

◆ BaseType

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::BaseType = IteratorBase<BivariateSetIterator<BivariateSetType>, IndexType>

◆ difference_type

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::difference_type = IndexType

◆ value_type

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::value_type = std::pair<IndexType, IndexType>

◆ reference

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::reference = value_type&

◆ pointer

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::pointer = value_type*

◆ iterator_category

template<typename BivariateSetType >
using axom::slam::BivariateSetIterator< BivariateSetType >::iterator_category = std::forward_iterator_tag

◆ iterator

using axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::iterator = IteratorBase<BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >
inherited

Constructor & Destructor Documentation

◆ BivariateSetIterator()

template<typename BivariateSetType >
axom::slam::BivariateSetIterator< BivariateSetType >::BivariateSetIterator ( const BivariateSetType *  bset,
IndexType  flatPos = 0 
)
inline

Member Function Documentation

◆ operator*()

◆ firstIndex()

template<typename BivariateSetType >
IndexType axom::slam::BivariateSetIterator< BivariateSetType >::firstIndex ( ) const
inline

Return the first set index pointed to by this iterator.

References axom::slam::BivariateSetIterator< BivariateSetType >::flatIndex().

◆ secondIndex()

template<typename BivariateSetType >
IndexType axom::slam::BivariateSetIterator< BivariateSetType >::secondIndex ( ) const
inline

Return the second set index pointed to by this iterator.

References axom::slam::BivariateSetIterator< BivariateSetType >::flatIndex().

◆ flatIndex()

template<typename BivariateSetType >
AXOM_HOST_DEVICE IndexType axom::slam::BivariateSetIterator< BivariateSetType >::flatIndex ( ) const
inline

◆ advance()

template<typename BivariateSetType >
AXOM_HOST_DEVICE void axom::slam::BivariateSetIterator< BivariateSetType >::advance ( IndexType  n)
inlineprotected

◆ operator++() [1/2]

AXOM_HOST_DEVICE BivariateSetIterator< BivariateSetType > & axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator++ ( )
inlineinherited

Pre-increment operator.

◆ operator++() [2/2]

BivariateSetIterator< BivariateSetType > axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator++ ( int  )
inlineinherited

Post-increment operator.

◆ operator--() [1/2]

BivariateSetIterator< BivariateSetType > & axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator-- ( )
inlineinherited

Pre-decrement operator.

◆ operator--() [2/2]

BivariateSetIterator< BivariateSetType > axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator-- ( int  )
inlineinherited

Post-decrement operator.

◆ operator+=()

BivariateSetIterator< BivariateSetType > & axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator+= ( BivariateSetType::PositionType  n)
inlineinherited

Addition-assignment operator.

◆ operator-=()

BivariateSetIterator< BivariateSetType > & axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::operator-= ( BivariateSetType::PositionType  n)
inlineinherited

Subtraction-assignment operator.

Member Data Documentation

◆ m_pos

BivariateSetType::PositionType axom::IteratorBase< BivariateSetIterator< BivariateSetType > , BivariateSetType::PositionType >::m_pos
protectedinherited

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