#include <iterable.hpp>
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 241 of file iterable.hpp.
Public Methods | |
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++ (int) |
TRandomAccessIterator & | operator+= (TIntegral n) |
TRandomAccessIterator | operator- (TIntegral n) const |
std::ptrdiff_t | operator- (TRandomAccessIterator other) const |
TRandomAccessIterator & | operator-- () |
TRandomAccessIterator | operator-- (int) |
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 Types | |
using | TIntegral = typename std::underlying_type< TEnum >::type |
Protected Fields | |
TEnum | p |
Private Types | |
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 . | |
|
protected |
The underlying integer type.
Definition at line 254 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 302 of file iterable.hpp.
|
inlineconstexpr |
Retrieves the enum element that this iterator references.
Definition at line 310 of file iterable.hpp.
|
inline |
Addition.
n | The value to subtract. |
Definition at line 369 of file iterable.hpp.
|
inline |
Prefix increment operator.
Definition at line 269 of file iterable.hpp.
|
inline |
Postfix increment operator.
Definition at line 281 of file iterable.hpp.
|
inline |
Addition assignment.
n | The value to subtract. |
Definition at line 346 of file iterable.hpp.
|
inline |
Subtraction.
n | The value to subtract. |
Definition at line 380 of file iterable.hpp.
|
inline |
Difference (distance) from this iterator to the given one.
other | The iterator to subtract |
Definition at line 391 of file iterable.hpp.
|
inline |
Prefix decrement operator.
Definition at line 320 of file iterable.hpp.
|
inline |
Postfix decrement operator.
Definition at line 332 of file iterable.hpp.
|
inline |
Subtraction assignment.
n | The value to subtract. |
Definition at line 358 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 418 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 427 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 293 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 437 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 446 of file iterable.hpp.
|
inline |
Subscript operator.
n | The iterator to subtract |
*( (*this) + n )
. Definition at line 404 of file iterable.hpp.
|
protected |
The actual enum element.
Definition at line 251 of file iterable.hpp.