Implementation of std::iterator_traits
for enum type TEnum. This class exposes ConstIterator which uses const TEnum*
and const TEnum&
as pointer and reference types.
As the name of the class indicates, this iterator satisfies the C++ standard library concept RandomAccessIterator .
Definition at line 221 of file iterable.hpp.
#include <iterable.hpp>
Public Method Index: | |
constexpr | TRandomAccessIterator (TEnum _p=TEnum(0)) |
constexpr bool | operator!= (TRandomAccessIterator other) const |
constexpr TEnum | operator* () const |
TRandomAccessIterator | operator+ (TIntegral n) const |
TRandomAccessIterator & | operator++ () |
TRandomAccessIterator | operator++ (typename std::underlying_type< TEnum >::type) |
TRandomAccessIterator & | operator+= (TIntegral n) |
TRandomAccessIterator | operator- (TIntegral n) const |
std::ptrdiff_t | operator- (TRandomAccessIterator other) const |
TRandomAccessIterator & | operator-- () |
TRandomAccessIterator | operator-- (typename std::underlying_type< TEnum >::type) |
TRandomAccessIterator & | operator-= (TIntegral n) |
bool | operator< (TRandomAccessIterator other) const |
bool | operator<= (TRandomAccessIterator other) const |
constexpr bool | operator== (TRandomAccessIterator other) const |
bool | operator> (TRandomAccessIterator other) const |
bool | operator>= (TRandomAccessIterator other) const |
TEnum | operator[] (std::ptrdiff_t n) const |
Protected Type Index: | |
using | TIntegral = typename std::underlying_type<TEnum>::type |
The underlying integer type. | |
Protected Field Index: | |
TEnum | p |
The actual enum element. | |
Private Type Index: | |
using | difference_type = std::ptrdiff_t |
Implementation of std::iterator_traits . | |
using | iterator_category = std::random_access_iterator_tag |
Implementation of std::iterator_traits . | |
using | pointer = TPointer |
Implementation of std::iterator_traits . | |
using | reference = TReference |
Implementation of std::iterator_traits . | |
using | value_type = TEnum |
Implementation of std::iterator_traits . | |
|
private |
Implementation of std::iterator_traits
.
Definition at line 225 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits
.
Definition at line 223 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits
.
Definition at line 226 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits
.
Definition at line 227 of file iterable.hpp.
|
protected |
The underlying integer type.
Definition at line 234 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits
.
Definition at line 224 of file iterable.hpp.
|
protected |
The actual enum element.
Definition at line 231 of file iterable.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
Comparison operator.
other | The iterator to compare ourselves to. |
true
if this and given iterator are not equal, false
otherwise. Definition at line 282 of file iterable.hpp.
|
inlineconstexpr |
Retrieves the enum element that this iterator references.
Definition at line 290 of file iterable.hpp.
|
inline |
Addition.
n | The value to subtract. |
Definition at line 349 of file iterable.hpp.
|
inline |
Prefix increment operator.
Definition at line 249 of file iterable.hpp.
|
inline |
Postfix increment operator.
Definition at line 261 of file iterable.hpp.
|
inline |
Addition assignment.
n | The value to subtract. |
Definition at line 326 of file iterable.hpp.
|
inline |
Subtraction.
n | The value to subtract. |
Definition at line 360 of file iterable.hpp.
|
inline |
Difference (distance) from this iterator to the given one.
other | The iterator to subtract |
Definition at line 371 of file iterable.hpp.
|
inline |
Prefix decrement operator.
Definition at line 300 of file iterable.hpp.
|
inline |
Postfix decrement operator.
Definition at line 312 of file iterable.hpp.
|
inline |
Subtraction assignment.
n | The value to subtract. |
Definition at line 338 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
other | The iterator to compare |
true
if this iterator is smaller than other, false
otherwise. Definition at line 397 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
other | The iterator to compare |
true
if this iterator is smaller than or equal to other, false
otherwise. Definition at line 406 of file iterable.hpp.
|
inlineconstexpr |
Comparison operator.
other | The iterator to compare ourselves to. |
true
if this and given iterator are equal, false
otherwise. Definition at line 273 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
other | The iterator to compare |
true
if this iterator is greater than other, false
otherwise. Definition at line 416 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
other | The iterator to compare |
true
if this iterator is greater than or equal to other, false
otherwise. Definition at line 425 of file iterable.hpp.
|
inline |
Subscript operator.
n | The iterator to subtract |
*( (*this) + n )
. Definition at line 383 of file iterable.hpp.