A pair of begin/end iterators used for implementing circular iteration. More...
Public Types | |
using | size_type = typename Container::size_type |
The type that can represent the size of Container. More... | |
using | difference_type = typename Container::difference_type |
The type that represents difference between iterator objects. More... | |
using | iterator = typename std::conditional< Const, typename Container::const_iterator, typename Container::iterator >::type |
The container iterator type (const/non-const) More... | |
using | reference = typename std::conditional< Const, typename Container::const_reference, typename Container::reference >::type |
The reference type (const/non-const) More... | |
Public Types inherited from CirculatorBase | |
enum | direction { NONE, CLOCKWISE, ANTICLOCKWISE } |
Direction type enumeration. More... | |
Public Member Functions | |
CirculatorIters () | |
Default construct. More... | |
CirculatorIters (const iterator &begin, const iterator &end) | |
Construct from begin/end iterators. More... | |
CirculatorIters (const CirculatorIters< Container, Const > &rhs) | |
Copy construct. More... | |
bool | empty () const |
True if begin/end iterators are identical. More... | |
size_type | size () const |
Return the range of the iterator pair. More... | |
difference_type | nRotations () const |
The distance between the iterator and the fulcrum. More... | |
bool | circulate (const CirculatorBase::direction dir=CirculatorBase::NONE) |
Circulate around the list in the given direction. More... | |
void | setFulcrumToIterator () |
Set the fulcrum to the current position of the iterator. More... | |
void | setIteratorToFulcrum () |
Set the iterator to the current position of the fulcrum. More... | |
reference | curr () const |
Dereference the current iterator. More... | |
reference | next () const |
Dereference the next iterator. More... | |
reference | prev () const |
Dereference the previous iterator. More... | |
void | operator= (const CirculatorIters< Container, Const > &rhs) |
Assignment operator for circulators operating on the same container type. More... | |
CirculatorIters< Container, Const > & | operator++ () |
Prefix increment the iterator. More... | |
CirculatorIters< Container, Const > | operator++ (int) |
Postfix increment the iterator. More... | |
CirculatorIters< Container, Const > & | operator-- () |
Prefix decrement the iterator. More... | |
CirculatorIters< Container, Const > | operator-- (int) |
Postfix decrement the iterator. More... | |
bool | operator== (const CirculatorIters< Container, Const > &) const |
Check for equality of this iterator with another iterator that operate on the same container type. More... | |
bool | operator!= (const CirculatorIters< Container, Const > &) const |
Check for inequality of this iterator with another iterator that operate on the same container type. More... | |
reference | operator* () const |
Dereference the iterator. Same as curr() More... | |
reference | operator() () const |
Dereference the iterator. Same as curr() More... | |
difference_type | operator- (const CirculatorIters< Container, Const > &) const |
Return the difference between this iterator and another iterator that operate on the same container type. More... | |
Public Member Functions inherited from CirculatorBase | |
CirculatorBase ()=default | |
Default construct. More... | |
Protected Member Functions | |
bool | equal (const CirculatorIters< Container, Const > &rhs) |
Compare for equality. More... | |
void | increment () |
Move iterator forward. More... | |
void | decrement () |
Move iterator backward. More... | |
A pair of begin/end iterators used for implementing circular iteration.
Definition at line 111 of file Circulator.H.
using size_type = typename Container::size_type |
The type that can represent the size of Container.
Definition at line 122 of file Circulator.H.
using difference_type = typename Container::difference_type |
The type that represents difference between iterator objects.
Definition at line 127 of file Circulator.H.
using iterator = typename std::conditional < Const, typename Container::const_iterator, typename Container::iterator >::type |
The container iterator type (const/non-const)
Definition at line 137 of file Circulator.H.
using reference = typename std::conditional < Const, typename Container::const_reference, typename Container::reference >::type |
The reference type (const/non-const)
Definition at line 147 of file Circulator.H.
|
inline |
Default construct.
Definition at line 66 of file CirculatorI.H.
|
inline |
Construct from begin/end iterators.
Definition at line 77 of file CirculatorI.H.
CirculatorIters | ( | const CirculatorIters< Container, Const > & | rhs | ) |
Copy construct.
Definition at line 91 of file CirculatorI.H.
|
inlineprotected |
Compare for equality.
Definition at line 26 of file CirculatorI.H.
|
inlineprotected |
Move iterator forward.
Definition at line 41 of file CirculatorI.H.
|
inlineprotected |
Move iterator backward.
Definition at line 52 of file CirculatorI.H.
|
inline |
True if begin/end iterators are identical.
Definition at line 105 of file CirculatorI.H.
|
inline |
Return the range of the iterator pair.
Definition at line 113 of file CirculatorI.H.
|
inline |
The distance between the iterator and the fulcrum.
This is equivalent to the number of rotations of the circulator
Definition at line 121 of file CirculatorI.H.
|
inline |
Circulate around the list in the given direction.
Definition at line 129 of file CirculatorI.H.
|
inline |
Set the fulcrum to the current position of the iterator.
Definition at line 147 of file CirculatorI.H.
|
inline |
Set the iterator to the current position of the fulcrum.
Definition at line 154 of file CirculatorI.H.
|
inline |
Dereference the current iterator.
Definition at line 162 of file CirculatorI.H.
|
inline |
Dereference the next iterator.
Definition at line 170 of file CirculatorI.H.
|
inline |
Dereference the previous iterator.
Definition at line 183 of file CirculatorI.H.
|
inline |
Assignment operator for circulators operating on the same container type.
Definition at line 198 of file CirculatorI.H.
|
inline |
Prefix increment the iterator.
Wraps iterator to the begin if it reaches the end
Definition at line 216 of file CirculatorI.H.
|
inline |
Postfix increment the iterator.
Wraps iterator to the begin if it reaches the end
Definition at line 225 of file CirculatorI.H.
|
inline |
Prefix decrement the iterator.
Wraps iterator to the end if it reaches the beginning
Definition at line 235 of file CirculatorI.H.
|
inline |
Postfix decrement the iterator.
Wraps iterator to the end if it reaches the beginning
Definition at line 244 of file CirculatorI.H.
|
inline |
Check for equality of this iterator with another iterator that operate on the same container type.
Definition at line 254 of file CirculatorI.H.
|
inline |
Check for inequality of this iterator with another iterator that operate on the same container type.
Definition at line 264 of file CirculatorI.H.
|
inline |
Dereference the iterator. Same as curr()
Definition at line 274 of file CirculatorI.H.
|
inline |
Dereference the iterator. Same as curr()
Definition at line 282 of file CirculatorI.H.
|
inline |
Return the difference between this iterator and another iterator that operate on the same container type.
Definition at line 291 of file CirculatorI.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.