DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayIteratorBase< Derived > Class Template Reference

CRTP base for row-granularity iterators over an Array / ArrayView. More...

#include <ArrayBasic.hpp>

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::random_access_iterator_tag
 
using reference = void
 
using pointer = void
 
using value = void
 

Public Member Functions

DNDS_DEVICE_CALLABLE auto getView () const
 
DNDS_DEVICE_CALLABLE ArrayIteratorBase (index n_iRow)
 
DNDS_DEVICE_CALLABLE index RowSize () const
 
DNDS_DEVICE_CALLABLE Derived & operator++ ()
 
DNDS_DEVICE_CALLABLE Derived operator++ (int)
 
DNDS_DEVICE_CALLABLE Derived & operator-- ()
 
DNDS_DEVICE_CALLABLE Derived operator-- (int)
 
DNDS_DEVICE_CALLABLE Derived & operator+= (difference_type n)
 
DNDS_DEVICE_CALLABLE Derived & operator-= (difference_type n)
 
DNDS_DEVICE_CALLABLE Derived operator+ (difference_type n) const
 
DNDS_DEVICE_CALLABLE Derived operator- (difference_type n) const
 
DNDS_DEVICE_CALLABLE difference_type operator- (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator== (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator!= (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator< (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator>= (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator> (const Derived &R) const
 
DNDS_DEVICE_CALLABLE bool operator<= (const Derived &R) const
 
DNDS_DEVICE_CALLABLE auto operator[] (difference_type n)
 
DNDS_DEVICE_CALLABLE auto operator[] (difference_type n) const
 

Protected Attributes

index iRow = UnInitIndex
 

Detailed Description

template<class Derived>
class DNDS::ArrayIteratorBase< Derived >

CRTP base for row-granularity iterators over an Array / ArrayView.

Provides all comparison / arithmetic operators for a random-access iterator (the difference_type is std::ptrdiff_t on a row basis); the derived class supplies getView() and operator*. Used by Array::iterator<B> for both host and device traversal.

Definition at line 638 of file ArrayBasic.hpp.

Member Typedef Documentation

◆ difference_type

template<class Derived >
using DNDS::ArrayIteratorBase< Derived >::difference_type = std::ptrdiff_t

Definition at line 644 of file ArrayBasic.hpp.

◆ iterator_category

template<class Derived >
using DNDS::ArrayIteratorBase< Derived >::iterator_category = std::random_access_iterator_tag

Definition at line 645 of file ArrayBasic.hpp.

◆ pointer

template<class Derived >
using DNDS::ArrayIteratorBase< Derived >::pointer = void

Definition at line 647 of file ArrayBasic.hpp.

◆ reference

template<class Derived >
using DNDS::ArrayIteratorBase< Derived >::reference = void

Definition at line 646 of file ArrayBasic.hpp.

◆ value

template<class Derived >
using DNDS::ArrayIteratorBase< Derived >::value = void

Definition at line 648 of file ArrayBasic.hpp.

Constructor & Destructor Documentation

◆ ArrayIteratorBase()

template<class Derived >
DNDS_DEVICE_CALLABLE DNDS::ArrayIteratorBase< Derived >::ArrayIteratorBase ( index  n_iRow)
inline

Definition at line 657 of file ArrayBasic.hpp.

Member Function Documentation

◆ getView()

template<class Derived >
DNDS_DEVICE_CALLABLE auto DNDS::ArrayIteratorBase< Derived >::getView ( ) const
inline

Definition at line 650 of file ArrayBasic.hpp.

Here is the caller graph for this function:

◆ operator!=()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator!= ( const Derived &  R) const
inline

Definition at line 715 of file ArrayBasic.hpp.

◆ operator+()

template<class Derived >
DNDS_DEVICE_CALLABLE Derived DNDS::ArrayIteratorBase< Derived >::operator+ ( difference_type  n) const
inline

Definition at line 702 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator++() [1/2]

template<class Derived >
DNDS_DEVICE_CALLABLE Derived & DNDS::ArrayIteratorBase< Derived >::operator++ ( )
inline

Definition at line 664 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator++() [2/2]

template<class Derived >
DNDS_DEVICE_CALLABLE Derived DNDS::ArrayIteratorBase< Derived >::operator++ ( int  )
inline

Definition at line 670 of file ArrayBasic.hpp.

◆ operator+=()

template<class Derived >
DNDS_DEVICE_CALLABLE Derived & DNDS::ArrayIteratorBase< Derived >::operator+= ( difference_type  n)
inline

Definition at line 690 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator-() [1/2]

template<class Derived >
DNDS_DEVICE_CALLABLE difference_type DNDS::ArrayIteratorBase< Derived >::operator- ( const Derived &  R) const
inline

Definition at line 712 of file ArrayBasic.hpp.

◆ operator-() [2/2]

template<class Derived >
DNDS_DEVICE_CALLABLE Derived DNDS::ArrayIteratorBase< Derived >::operator- ( difference_type  n) const
inline

Definition at line 707 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator--() [1/2]

template<class Derived >
DNDS_DEVICE_CALLABLE Derived & DNDS::ArrayIteratorBase< Derived >::operator-- ( )
inline

Definition at line 677 of file ArrayBasic.hpp.

◆ operator--() [2/2]

template<class Derived >
DNDS_DEVICE_CALLABLE Derived DNDS::ArrayIteratorBase< Derived >::operator-- ( int  )
inline

Definition at line 683 of file ArrayBasic.hpp.

◆ operator-=()

template<class Derived >
DNDS_DEVICE_CALLABLE Derived & DNDS::ArrayIteratorBase< Derived >::operator-= ( difference_type  n)
inline

Definition at line 696 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator<()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator< ( const Derived &  R) const
inline

Definition at line 716 of file ArrayBasic.hpp.

◆ operator<=()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator<= ( const Derived &  R) const
inline

Definition at line 719 of file ArrayBasic.hpp.

◆ operator==()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator== ( const Derived &  R) const
inline

Definition at line 714 of file ArrayBasic.hpp.

◆ operator>()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator> ( const Derived &  R) const
inline

Definition at line 718 of file ArrayBasic.hpp.

◆ operator>=()

template<class Derived >
DNDS_DEVICE_CALLABLE bool DNDS::ArrayIteratorBase< Derived >::operator>= ( const Derived &  R) const
inline

Definition at line 717 of file ArrayBasic.hpp.

◆ operator[]() [1/2]

template<class Derived >
DNDS_DEVICE_CALLABLE auto DNDS::ArrayIteratorBase< Derived >::operator[] ( difference_type  n)
inline

Definition at line 721 of file ArrayBasic.hpp.

◆ operator[]() [2/2]

template<class Derived >
DNDS_DEVICE_CALLABLE auto DNDS::ArrayIteratorBase< Derived >::operator[] ( difference_type  n) const
inline

Definition at line 722 of file ArrayBasic.hpp.

◆ RowSize()

template<class Derived >
DNDS_DEVICE_CALLABLE index DNDS::ArrayIteratorBase< Derived >::RowSize ( ) const
inline

Definition at line 662 of file ArrayBasic.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ iRow

template<class Derived >
index DNDS::ArrayIteratorBase< Derived >::iRow = UnInitIndex
protected

Definition at line 641 of file ArrayBasic.hpp.


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