RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | Friends | List of all members
RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType > Class Template Reference

#include <Iterators.hpp>

Public Types

using value_type = Type
 
using stripped_value_type = strip_index_type_t< Type >
 
using difference_type = DifferenceType
 
using pointer = PointerType
 
using reference = value_type &
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

constexpr numeric_iterator () noexcept=default
 
constexpr numeric_iterator (const numeric_iterator &) noexcept=default
 
constexpr numeric_iterator (numeric_iterator &&) noexcept=default
 
numeric_iteratoroperator= (const numeric_iterator &) noexcept=default
 
numeric_iteratoroperator= (numeric_iterator &&) noexcept=default
 
constexpr RAJA_HOST_DEVICE numeric_iterator (const stripped_value_type &rhs)
 
RAJA_HOST_DEVICE DifferenceType get_stride () const
 
RAJA_HOST_DEVICE bool operator== (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE bool operator!= (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE bool operator> (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE bool operator< (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE bool operator>= (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE bool operator<= (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE numeric_iteratoroperator++ ()
 
RAJA_HOST_DEVICE numeric_iteratoroperator-- ()
 
RAJA_HOST_DEVICE numeric_iterator operator++ (int)
 
RAJA_HOST_DEVICE numeric_iterator operator-- (int)
 
RAJA_HOST_DEVICE numeric_iteratoroperator+= (const difference_type &rhs)
 
RAJA_HOST_DEVICE numeric_iteratoroperator-= (const difference_type &rhs)
 
RAJA_HOST_DEVICE numeric_iteratoroperator+= (const numeric_iterator &rhs)
 
RAJA_HOST_DEVICE numeric_iteratoroperator-= (const numeric_iterator &rhs)
 
RAJA_HOST_DEVICE stripped_value_type operator+ (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE stripped_value_type operator- (const numeric_iterator &rhs) const
 
RAJA_HOST_DEVICE numeric_iterator operator+ (const difference_type &rhs) const
 
RAJA_HOST_DEVICE numeric_iterator operator- (const difference_type &rhs) const
 
RAJA_HOST_DEVICE value_type operator* () const
 
RAJA_HOST_DEVICE value_type operator-> () const
 
constexpr RAJA_HOST_DEVICE value_type operator[] (difference_type rhs) const
 

Friends

RAJA_HOST_DEVICE constexpr friend numeric_iterator operator+ (difference_type lhs, const numeric_iterator &rhs)
 
RAJA_HOST_DEVICE constexpr friend numeric_iterator operator- (difference_type lhs, const numeric_iterator &rhs)
 

Member Typedef Documentation

◆ value_type

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::value_type = Type

◆ stripped_value_type

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::stripped_value_type = strip_index_type_t<Type>

◆ difference_type

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::difference_type = DifferenceType

◆ pointer

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::pointer = PointerType

◆ reference

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::reference = value_type&

◆ iterator_category

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
using RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::iterator_category = std::random_access_iterator_tag

Constructor & Destructor Documentation

◆ numeric_iterator() [1/4]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
constexpr RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::numeric_iterator ( )
constexprdefaultnoexcept

◆ numeric_iterator() [2/4]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
constexpr RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::numeric_iterator ( const numeric_iterator< Type, DifferenceType, PointerType > &  )
constexprdefaultnoexcept

◆ numeric_iterator() [3/4]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
constexpr RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::numeric_iterator ( numeric_iterator< Type, DifferenceType, PointerType > &&  )
constexprdefaultnoexcept

◆ numeric_iterator() [4/4]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
constexpr RAJA_HOST_DEVICE RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::numeric_iterator ( const stripped_value_type rhs)
inlineconstexpr

Member Function Documentation

◆ operator=() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator= ( const numeric_iterator< Type, DifferenceType, PointerType > &  )
defaultnoexcept

◆ operator=() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator= ( numeric_iterator< Type, DifferenceType, PointerType > &&  )
defaultnoexcept

◆ get_stride()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE DifferenceType RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::get_stride ( ) const
inline

◆ operator==()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator== ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator!=()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator!= ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator>()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator> ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator<()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator< ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator>=()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator>= ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator<=()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE bool RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator<= ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator++() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator++ ( )
inline

◆ operator--() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator-- ( )
inline

◆ operator++() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator++ ( int  )
inline

◆ operator--() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator-- ( int  )
inline

◆ operator+=() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator+= ( const difference_type rhs)
inline

◆ operator-=() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator-= ( const difference_type rhs)
inline

◆ operator+=() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator+= ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs)
inline

◆ operator-=() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator& RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator-= ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs)
inline

◆ operator+() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE stripped_value_type RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator+ ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator-() [1/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE stripped_value_type RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator- ( const numeric_iterator< Type, DifferenceType, PointerType > &  rhs) const
inline

◆ operator+() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator+ ( const difference_type rhs) const
inline

◆ operator-() [2/2]

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE numeric_iterator RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator- ( const difference_type rhs) const
inline

◆ operator*()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE value_type RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator* ( ) const
inline

◆ operator->()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE value_type RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator-> ( ) const
inline

◆ operator[]()

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
constexpr RAJA_HOST_DEVICE value_type RAJA::Iterators::numeric_iterator< Type, DifferenceType, PointerType >::operator[] ( difference_type  rhs) const
inlineconstexpr

Friends And Related Function Documentation

◆ operator+

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE constexpr friend numeric_iterator operator+ ( difference_type  lhs,
const numeric_iterator< Type, DifferenceType, PointerType > &  rhs 
)
friend

◆ operator-

template<typename Type = Index_type, typename DifferenceType = Type, typename PointerType = Type*>
RAJA_HOST_DEVICE constexpr friend numeric_iterator operator- ( difference_type  lhs,
const numeric_iterator< Type, DifferenceType, PointerType > &  rhs 
)
friend

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