This class is designed to iterate over all brick positions in a cube. More...

Public Types | |
| using | value_type = int |
| using | iterator_category = std::forward_iterator_tag |
| using | difference_type = std::ptrdiff_t |
| using | pointer = int* |
| using | reference = int& |
Public Member Functions | |
| ProcessIterator (int position) | |
| Initialize a process iterator given a position. | |
| ProcessIterator (const ProcessIterator &other) | |
| This class fully supports copy construction. | |
| virtual | ~ProcessIterator () |
| Destructor. | |
| ProcessIterator & | operator++ () |
| Increment the process iterator to the next position. | |
| bool | operator== (const ProcessIterator &rhs) |
| Compare equality of two iterator positions. | |
| bool | operator!= (const ProcessIterator &rhs) |
| Compare inequality of two iterator positions. | |
| void | swap (ProcessIterator &other) |
| Exception-safe swap method. | |
| ProcessIterator & | operator= (const ProcessIterator &rhs) |
| Assignment of these iterators is fully supported. | |
| int | operator* () const |
| Convert this iterator into a position. | |
Private Attributes | |
| int | m_currentPosition |
| The current iterator's position/value. | |
This class is designed to iterate over all brick positions in a cube.
This isn't using a BigInt because Brick::Bricks() isn't, so a performance penalty would be incurred for no reason.
Definition at line 751 of file ProcessByBrick.h.
| using Isis::ProcessByBrick::ProcessIterator::difference_type = std::ptrdiff_t |
Definition at line 759 of file ProcessByBrick.h.
| using Isis::ProcessByBrick::ProcessIterator::iterator_category = std::forward_iterator_tag |
Definition at line 758 of file ProcessByBrick.h.
| using Isis::ProcessByBrick::ProcessIterator::pointer = int* |
Definition at line 760 of file ProcessByBrick.h.
| using Isis::ProcessByBrick::ProcessIterator::reference = int& |
Definition at line 761 of file ProcessByBrick.h.
| using Isis::ProcessByBrick::ProcessIterator::value_type = int |
Definition at line 757 of file ProcessByBrick.h.
| Isis::ProcessByBrick::ProcessIterator::ProcessIterator | ( | int | position | ) |
Initialize a process iterator given a position.
| position | The process iterator position to initialize with. |
Definition at line 1123 of file ProcessByBrick.cpp.
References m_currentPosition.
Referenced by operator!=(), operator=(), operator==(), ProcessIterator(), and swap().
| Isis::ProcessByBrick::ProcessIterator::ProcessIterator | ( | const ProcessIterator & | other | ) |
This class fully supports copy construction.
| other | The process iterator to copy |
Definition at line 1133 of file ProcessByBrick.cpp.
References m_currentPosition, and ProcessIterator().
|
virtual |
|
inline |
Compare inequality of two iterator positions.
| rhs | The right hand side of the '!=' operator |
Definition at line 781 of file ProcessByBrick.h.
References ProcessIterator().
|
inline |
Convert this iterator into a position.
An integer is sufficient.
Definition at line 813 of file ProcessByBrick.h.
References m_currentPosition.
| ProcessByBrick::ProcessIterator & Isis::ProcessByBrick::ProcessIterator::operator++ | ( | ) |
Increment the process iterator to the next position.
Definition at line 1152 of file ProcessByBrick.cpp.
References m_currentPosition.
|
inline |
Assignment of these iterators is fully supported.
| rhs | The right hand side of the '=' operator. |
Definition at line 802 of file ProcessByBrick.h.
References ProcessIterator(), and swap().
|
inline |
Compare equality of two iterator positions.
| rhs | The right hand side of the '==' operator |
Definition at line 771 of file ProcessByBrick.h.
References m_currentPosition, and ProcessIterator().
|
inline |
Exception-safe swap method.
| other | The instance to swap with |
Definition at line 791 of file ProcessByBrick.h.
References m_currentPosition, and ProcessIterator().
Referenced by operator=().
|
private |
The current iterator's position/value.
Definition at line 819 of file ProcessByBrick.h.
Referenced by operator*(), operator++(), operator==(), ProcessIterator(), ProcessIterator(), swap(), and ~ProcessIterator().