obiter.h File Reference

STL-style iterators for Open Babel. More...

#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
#include <openbabel/bitvec.h>
#include <vector>
#include <stack>
#include <queue>

Include dependency graph for obiter.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  OpenBabel

Classes

class  OBMolAtomIter
 Iterate over all atoms in an OBMol. More...
class  OBMolAtomDFSIter
 Iterate over all atoms in an OBMol in a depth-first search (DFS). More...
class  OBMolAtomBFSIter
 Iterate over all atoms in an OBMol in a breadth-first search (BFS). More...
class  OBMolBondIter
 Iterate over all bonds in an OBMol. More...
class  OBAtomAtomIter
 Iterate over all neighboring atoms to an OBAtom. More...
class  OBAtomBondIter
 Iterate over all bonds on an OBAtom. More...
class  OBResidueIter
 Iterate over all residues in an OBMol. More...
class  OBResidueAtomIter
 Iterate over all atoms in an OBResidue. More...
class  OBMolAngleIter
 Iterate over all angles in an OBMol. More...
class  OBMolTorsionIter
 Iterate over all torsions in an OBMol. More...
class  OBMolPairIter
 Iterate over all pairs of atoms (>1-4) in an OBMol. More...
class  OBMolRingIter
 Iterate over all rings in an OBMol. More...

Defines

#define FOR_ATOMS_OF_MOL(a, m)   for( OBMolAtomIter a(m); a; ++a )
#define FOR_BONDS_OF_MOL(b, m)   for( OBMolBondIter b(m); b; ++b )
#define FOR_NBORS_OF_ATOM(a, p)   for( OBAtomAtomIter a(p); a; ++a )
#define FOR_BONDS_OF_ATOM(b, p)   for( OBAtomBondIter b(p); b; ++b )
#define FOR_RESIDUES_OF_MOL(r, m)   for( OBResidueIter r(m); r; ++r )
#define FOR_ATOMS_OF_RESIDUE(a, r)   for( OBResidueAtomIter a(r); a; ++a )
#define FOR_DFS_OF_MOL(a, m)   for( OBMolAtomDFSIter a(m); a; ++a )
#define FOR_BFS_OF_MOL(a, m)   for( OBMolAtomBFSIter a(m); a; ++a )
#define FOR_RINGS_OF_MOL(a, m)   for( OBMolRingIter r(m); r; ++r )
#define FOR_ANGLES_OF_MOL(a, m)   for( OBMolAngleIter a(m); a; ++a )
#define FOR_TORSIONS_OF_MOL(t, m)   for( OBMolTorsionIter t(m); t; ++t )
#define FOR_PAIRS_OF_MOL(p, m)   for( OBMolPairIter p(m); p; ++p )


Detailed Description

STL-style iterators for Open Babel.


Define Documentation

#define FOR_ATOMS_OF_MOL ( a,
 )     for( OBMolAtomIter a(m); a; ++a )

#define FOR_BONDS_OF_MOL ( b,
 )     for( OBMolBondIter b(m); b; ++b )

#define FOR_NBORS_OF_ATOM ( a,
 )     for( OBAtomAtomIter a(p); a; ++a )

#define FOR_BONDS_OF_ATOM ( b,
 )     for( OBAtomBondIter b(p); b; ++b )

#define FOR_RESIDUES_OF_MOL ( r,
 )     for( OBResidueIter r(m); r; ++r )

#define FOR_ATOMS_OF_RESIDUE ( a,
 )     for( OBResidueAtomIter a(r); a; ++a )

#define FOR_DFS_OF_MOL ( a,
 )     for( OBMolAtomDFSIter a(m); a; ++a )

#define FOR_BFS_OF_MOL ( a,
 )     for( OBMolAtomBFSIter a(m); a; ++a )

#define FOR_RINGS_OF_MOL ( a,
 )     for( OBMolRingIter r(m); r; ++r )

#define FOR_ANGLES_OF_MOL ( a,
 )     for( OBMolAngleIter a(m); a; ++a )

#define FOR_TORSIONS_OF_MOL ( t,
 )     for( OBMolTorsionIter t(m); t; ++t )

#define FOR_PAIRS_OF_MOL ( p,
 )     for( OBMolPairIter p(m); p; ++p )