|
Squid Web Cache master
|
#include <EnumIterator.h>
Public Types | |
| using | iterator_category = std::bidirectional_iterator_tag |
| using | value_type = EnumType |
| using | difference_type = std::ptrdiff_t |
| using | pointer = EnumType * |
| using | reference = EnumType & |
Public Member Functions | |
| EnumIterator (EnumType e) | |
| EnumIterator & | operator++ () |
| EnumIterator & | operator++ (int) |
| EnumIterator & | operator-- () |
| EnumIterator & | operator-- (int) |
| bool | operator== (const EnumIteratorBase &i) const |
| bool | operator!= (const EnumIteratorBase &i) const |
| EnumType | operator* () const |
Protected Types | |
| typedef std::underlying_type< EnumType >::type | iterator_type |
Protected Attributes | |
| iterator_type | current |
bidirectional iterator over an enum type
It can be instantiated using any enum (or C++11 strongly-typed enum) value; the most common expected use scenario has iterators emitted by EnumRange and WholeEnum via standard begin() and end() calls.
In order for the iterator to work, it is mandatory that the underlying enum type's representation values be sequential.
The iterator does not check for bounds when incrementing or decrementing, that responsibility is left to the caller.
Definition at line 67 of file EnumIterator.h.
|
inherited |
Definition at line 31 of file EnumIterator.h.
|
inherited |
Definition at line 29 of file EnumIterator.h.
|
protectedinherited |
Definition at line 26 of file EnumIterator.h.
|
inherited |
Definition at line 32 of file EnumIterator.h.
|
inherited |
Definition at line 33 of file EnumIterator.h.
|
inherited |
Definition at line 30 of file EnumIterator.h.
|
inlineexplicit |
Definition at line 70 of file EnumIterator.h.
|
inlineinherited |
Definition at line 41 of file EnumIterator.h.
References EnumIteratorBase< EnumType >::current.
|
inlineinherited |
Definition at line 45 of file EnumIterator.h.
References EnumIteratorBase< EnumType >::current.
|
inline |
Definition at line 72 of file EnumIterator.h.
|
inline |
Definition at line 77 of file EnumIterator.h.
|
inline |
Definition at line 83 of file EnumIterator.h.
|
inline |
Definition at line 88 of file EnumIterator.h.
|
inlineinherited |
Definition at line 37 of file EnumIterator.h.
References EnumIteratorBase< EnumType >::current.
|
protectedinherited |
Definition at line 49 of file EnumIterator.h.
Referenced by EnumIteratorBase< EnumType >::operator!=(), EnumIteratorBase< EnumType >::operator*(), and EnumIteratorBase< EnumType >::operator==().