Open Babel
3.0
|
#include <openbabel/obiter.h>
Public Member Functions | |
OBMolRingIter () | |
OBMolRingIter (OBMol *mol) | |
OBMolRingIter (OBMol &mol) | |
OBMolRingIter (const OBMolRingIter &ri) | |
~OBMolRingIter () | |
OBMolRingIter & | operator= (const OBMolRingIter &ri) |
operator bool () const | |
OBMolRingIter & | operator++ () |
OBMolRingIter | operator++ (int) |
OBRing * | operator-> () const |
OBRing & | operator* () const |
Iterate over all rings in an OBMol.
To facilitate iteration through all rings in a molecule, without resorting to ring indexes (which may change in the future) a variety of iterator classes and methods are provided. One word of warning is that these iterator methods automatically call OBMol::FindSSSR() which may involve a significant performance hit on large molecules.
Calling iterator classes has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
|
inline |
OBMolRingIter | ( | OBMol * | mol | ) |
OBMolRingIter | ( | OBMol & | mol | ) |
OBMolRingIter | ( | const OBMolRingIter & | ri | ) |
|
inline |
OBMolRingIter & operator= | ( | const OBMolRingIter & | ri | ) |
|
inline |
OBMolRingIter & operator++ | ( | ) |
Preincrement – advance to the next ring (if any) and return.
Referenced by OBMolRingIter::operator++().
OBMolRingIter operator++ | ( | int | ) |
Postincrement – return the current state and advance to the next ring.
|
inline |
|
inline |