Iterator for all relevant cycles of the graph. More...
#include <Cycles.h>
Public Types | |
| using | iterator_category = std::forward_iterator_tag |
| using | difference_type = std::ptrdiff_t |
| using | value_type = const std::vector< BondIndex > & |
| using | pointer = const std::vector< BondIndex > * |
| using | reference = value_type |
Public Member Functions | |
| AllCyclesIterator (const std::shared_ptr< RdlDataPtrs > &dataPtr, unsigned rCycleIndex=0) | |
| AllCyclesIterator (const AllCyclesIterator &other) | |
| AllCyclesIterator (AllCyclesIterator &&other) noexcept | |
| AllCyclesIterator & | operator= (const AllCyclesIterator &other) |
| AllCyclesIterator & | operator= (AllCyclesIterator &&other) noexcept |
| AllCyclesIterator & | operator++ () |
| AllCyclesIterator | operator++ (int) |
| value_type | operator* () const |
| pointer | operator-> () const |
| bool | operator== (const AllCyclesIterator &other) const |
| Must be constructed from same Cycles base and at same RC to compare equal. | |
| bool | operator!= (const AllCyclesIterator &other) const |
Private Attributes | |
| std::shared_ptr< RdlDataPtrs > | rdlPtr_ |
| Hold an owning reference to the base data to avoid dangling pointers. | |
| std::unique_ptr< RdlCyclePtrs > | cyclePtr_ |
| Manage cycle data as shared pointer to permit expected iterator functionality. | |
Iterator for all relevant cycles of the graph.