Indexer or generator for strided integral values. The extended base functionality (eg, prev, next) allows its reuse for StrideIterator etc. More...

Public Types | |
| typedef IntType | value_type |
| typedef IntType | difference_type |
Public Member Functions | |
| constexpr | StrideIndexer () noexcept |
| Default construct as zero, stride=1. More... | |
| constexpr | StrideIndexer (value_type stride) noexcept |
| Construct with value zero and specified stride. No checks (ie, possible to have a 0 stride!) More... | |
| constexpr | StrideIndexer (value_type start, value_type stride) noexcept |
| Construct with specified value and stride. No checks (ie, possible to have a 0 stride!) More... | |
| constexpr value_type | value () const noexcept |
| The current value. More... | |
| constexpr value_type | stride () const noexcept |
| The stride. More... | |
| constexpr value_type | value (value_type n) const noexcept |
Return the value offset by n strides. More... | |
| void | prev () noexcept |
| Decrement the value by the stride. More... | |
| void | next () noexcept |
| Increment the value by the stride. More... | |
| void | prev (value_type n) noexcept |
Decrease value by n strides. More... | |
| void | next (value_type n) noexcept |
Increase value by n strides. More... | |
| constexpr value_type | operator* () const noexcept |
| Return the value. More... | |
| value_type | operator() () noexcept |
| Apply a postfix increment and return the current value. More... | |
Indexer or generator for strided integral values. The extended base functionality (eg, prev, next) allows its reuse for StrideIterator etc.
Definition at line 61 of file StrideIterator.H.
| typedef IntType value_type |
Definition at line 80 of file StrideIterator.H.
| typedef IntType difference_type |
Definition at line 81 of file StrideIterator.H.
|
inlinenoexcept |
Default construct as zero, stride=1.
Definition at line 89 of file StrideIterator.H.
|
inlinenoexcept |
Construct with value zero and specified stride. No checks (ie, possible to have a 0 stride!)
Definition at line 98 of file StrideIterator.H.
|
inlinenoexcept |
Construct with specified value and stride. No checks (ie, possible to have a 0 stride!)
Definition at line 107 of file StrideIterator.H.
|
inlinenoexcept |
The current value.
Definition at line 118 of file StrideIterator.H.
Referenced by StrideIterator< IntType >::operator*(), RevStrideIterator< IntType >::operator*(), StrideIterator< IntType >::operator+(), RevStrideIterator< IntType >::operator+(), StrideIterator< IntType >::operator-(), RevStrideIterator< IntType >::operator-(), StrideIterator< IntType >::operator<(), RevStrideIterator< IntType >::operator<(), StrideIterator< IntType >::operator==(), RevStrideIterator< IntType >::operator==(), StrideIterator< IntType >::operator[](), and RevStrideIterator< IntType >::operator[]().

|
inlinenoexcept |
The stride.
Definition at line 123 of file StrideIterator.H.
Referenced by StrideIterator< IntType >::operator+(), RevStrideIterator< IntType >::operator+(), StrideIterator< IntType >::operator-(), and RevStrideIterator< IntType >::operator-().

|
inlinenoexcept |
Return the value offset by n strides.
Definition at line 128 of file StrideIterator.H.
References n.
|
inlinenoexcept |
Decrement the value by the stride.
Definition at line 136 of file StrideIterator.H.
Referenced by RevStrideIterator< IntType >::operator++(), RevStrideIterator< IntType >::operator+=(), StrideIterator< IntType >::operator--(), and StrideIterator< IntType >::operator-=().

|
inlinenoexcept |
Increment the value by the stride.
Definition at line 141 of file StrideIterator.H.
Referenced by StrideIndexer< IntType >::operator()(), StrideIterator< IntType >::operator++(), StrideIterator< IntType >::operator+=(), RevStrideIterator< IntType >::operator--(), and RevStrideIterator< IntType >::operator-=().

|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Return the value.
Definition at line 159 of file StrideIterator.H.
|
inlinenoexcept |
Apply a postfix increment and return the current value.
This operator definition is required for a generator - see std::generate()
Definition at line 167 of file StrideIterator.H.
References StrideIndexer< IntType >::next().
