RevStrideIterator< IntType > Class Template Reference

A random-access, integer-like, input iterator for integral values with a stride that behaves like a reverse iterator. More...

Inheritance diagram for RevStrideIterator< IntType >:
Collaboration diagram for RevStrideIterator< IntType >:

Public Types

typedef std::random_access_iterator_tag iterator_category
 
typedef IntType value_type
 
typedef IntType difference_type
 
typedef const IntType * pointer
 
typedef IntType reference
 

Public Member Functions

constexpr RevStrideIterator () noexcept
 Default construct as zero, stride 1. More...
 
constexpr RevStrideIterator (value_type val, value_type stride) noexcept
 Construct with specified value and stride. No checks (ie, possible to have a 0 stride!) More...
 
constexpr value_type operator* () const noexcept
 Return the value. More...
 
constexpr value_type operator[] (value_type n) const noexcept
 Offset dereference operator. More...
 
RevStrideIteratoroperator++ () noexcept
 Prefix increment. More...
 
RevStrideIterator operator++ (int) noexcept
 Postfix increment. More...
 
RevStrideIteratoroperator-- () noexcept
 Prefix decrement. More...
 
RevStrideIterator operator-- (int) noexcept
 Postfix decrement. More...
 
RevStrideIteratoroperator+= (value_type n) noexcept
 Arbitrary increment. More...
 
RevStrideIteratoroperator-= (value_type n) noexcept
 Arbitrary decrement. More...
 
constexpr RevStrideIterator operator+ (value_type n) const noexcept
 Return iterator with offset. More...
 
constexpr RevStrideIterator operator- (value_type n) const noexcept
 Return iterator with offset. More...
 
constexpr value_type operator- (const RevStrideIterator &iter) const noexcept
 Difference operator. More...
 
constexpr bool operator== (const RevStrideIterator &iter) const noexcept
 Test for equality of values (ignore stride) More...
 
constexpr bool operator< (const RevStrideIterator &iter) const noexcept
 Compare less-than values (ignore stride) More...
 
constexpr bool operator!= (const RevStrideIterator &iter) const noexcept
 
constexpr bool operator<= (const RevStrideIterator &iter) const noexcept
 
constexpr bool operator> (const RevStrideIterator &iter) const noexcept
 
constexpr bool operator>= (const RevStrideIterator &iter) const noexcept
 

Detailed Description

template<class IntType>
class Foam::RevStrideIterator< IntType >

A random-access, integer-like, input iterator for integral values with a stride that behaves like a reverse iterator.

Definition at line 385 of file StrideIterator.H.

Member Typedef Documentation

◆ iterator_category

typedef std::random_access_iterator_tag iterator_category

Definition at line 392 of file StrideIterator.H.

◆ value_type

typedef IntType value_type

Definition at line 393 of file StrideIterator.H.

◆ difference_type

typedef IntType difference_type

Definition at line 394 of file StrideIterator.H.

◆ pointer

typedef const IntType* pointer

Definition at line 395 of file StrideIterator.H.

◆ reference

typedef IntType reference

Definition at line 396 of file StrideIterator.H.

Constructor & Destructor Documentation

◆ RevStrideIterator() [1/2]

constexpr RevStrideIterator ( )
inlinenoexcept

Default construct as zero, stride 1.

Definition at line 404 of file StrideIterator.H.

◆ RevStrideIterator() [2/2]

constexpr RevStrideIterator ( value_type  val,
value_type  stride 
)
inlinenoexcept

Construct with specified value and stride. No checks (ie, possible to have a 0 stride!)

Definition at line 413 of file StrideIterator.H.

Member Function Documentation

◆ operator*()

constexpr value_type operator* ( ) const
inlinenoexcept

Return the value.

Definition at line 424 of file StrideIterator.H.

References StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator[]()

constexpr value_type operator[] ( value_type  n) const
inlinenoexcept

Offset dereference operator.

Definition at line 432 of file StrideIterator.H.

References n, and StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator++() [1/2]

RevStrideIterator& operator++ ( )
inlinenoexcept

Prefix increment.

Definition at line 440 of file StrideIterator.H.

References StrideIndexer< IntType >::prev().

Here is the call graph for this function:

◆ operator++() [2/2]

RevStrideIterator operator++ ( int  )
inlinenoexcept

Postfix increment.

Definition at line 449 of file StrideIterator.H.

References StrideIndexer< IntType >::prev().

Here is the call graph for this function:

◆ operator--() [1/2]

RevStrideIterator& operator-- ( )
inlinenoexcept

Prefix decrement.

Definition at line 459 of file StrideIterator.H.

References StrideIndexer< IntType >::next().

Here is the call graph for this function:

◆ operator--() [2/2]

RevStrideIterator operator-- ( int  )
inlinenoexcept

Postfix decrement.

Definition at line 468 of file StrideIterator.H.

References StrideIndexer< IntType >::next().

Here is the call graph for this function:

◆ operator+=()

RevStrideIterator& operator+= ( value_type  n)
inlinenoexcept

Arbitrary increment.

Definition at line 478 of file StrideIterator.H.

References n, and StrideIndexer< IntType >::prev().

Here is the call graph for this function:

◆ operator-=()

RevStrideIterator& operator-= ( value_type  n)
inlinenoexcept

Arbitrary decrement.

Definition at line 487 of file StrideIterator.H.

References n, and StrideIndexer< IntType >::next().

Here is the call graph for this function:

◆ operator+()

constexpr RevStrideIterator operator+ ( value_type  n) const
inlinenoexcept

Return iterator with offset.

Definition at line 497 of file StrideIterator.H.

References n, StrideIndexer< IntType >::stride(), and StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator-() [1/2]

constexpr RevStrideIterator operator- ( value_type  n) const
inlinenoexcept

Return iterator with offset.

Definition at line 506 of file StrideIterator.H.

References n, StrideIndexer< IntType >::stride(), and StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator-() [2/2]

constexpr value_type operator- ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Difference operator.

Definition at line 515 of file StrideIterator.H.

References StrideIndexer< IntType >::stride(), and StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator==()

constexpr bool operator== ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Test for equality of values (ignore stride)

Definition at line 532 of file StrideIterator.H.

References StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator<()

constexpr bool operator< ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Compare less-than values (ignore stride)

Definition at line 541 of file StrideIterator.H.

References StrideIndexer< IntType >::value().

Here is the call graph for this function:

◆ operator!=()

constexpr bool operator!= ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Definition at line 550 of file StrideIterator.H.

◆ operator<=()

constexpr bool operator<= ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Definition at line 556 of file StrideIterator.H.

◆ operator>()

constexpr bool operator> ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Definition at line 562 of file StrideIterator.H.

◆ operator>=()

constexpr bool operator>= ( const RevStrideIterator< IntType > &  iter) const
inlinenoexcept

Definition at line 568 of file StrideIterator.H.


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