Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::Cycles::UrfIdsCycleIterator Class Reference

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
 
UrfIdsCycleIteratoroperator= (const UrfIdsCycleIterator &other)
 
UrfIdsCycleIteratoroperator= (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)
 
UrfIdsCycleIteratoroperator++ ()
 
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_
 

Detailed Description

Iterator for cycles of specific universal ring families.


The documentation for this class was generated from the following file: