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.