Iterator for cycles of specific universal ring families. More...
#include <Cycles.h>
Public Types | |
using | difference_type = unsigned |
using | value_type = const std::vector< BondIndex > & |
using | pointer = const std::vector< BondIndex > * |
using | reference = value_type |
using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
UrfIdsCycleIterator (const UrfIdsCycleIterator &other) | |
UrfIdsCycleIterator (UrfIdsCycleIterator &&other) noexcept | |
UrfIdsCycleIterator & | operator= (const UrfIdsCycleIterator &other) |
UrfIdsCycleIterator & | operator= (UrfIdsCycleIterator &&other) noexcept |
UrfIdsCycleIterator (AtomIndex soughtIndex, const std::shared_ptr< RdlDataPtrs > &dataPtr) | |
UrfIdsCycleIterator (const BondIndex &soughtBond, std::vector< unsigned > urfs, const std::shared_ptr< RdlDataPtrs > &dataPtr) | |
UrfIdsCycleIterator (const std::vector< BondIndex > &soughtBonds, std::vector< unsigned > urfs, const std::shared_ptr< RdlDataPtrs > &dataPtr) | |
UrfIdsCycleIterator & | operator++ () |
UrfIdsCycleIterator | operator++ (int) |
value_type | operator* () const |
pointer | operator-> () const |
void | advanceToEnd () |
bool | operator== (const UrfIdsCycleIterator &other) const |
bool | operator!= (const UrfIdsCycleIterator &other) const |
Private Member Functions | |
void | advanceToNextPermissibleCycle_ () |
void | initializeCyclesFromUrfId_ () |
void | matchCycleState_ (const UrfIdsCycleIterator &other) |
Private Attributes | |
std::shared_ptr< RdlDataPtrs > | rdlPtr_ |
std::unique_ptr< UrfHelper > | urfsPtr_ |
std::unique_ptr< RdlCyclePtrs > | cyclePtr_ |
Iterator for cycles of specific universal ring families.