Open Babel: obiter.h File Reference

Classes | Namespaces | Defines

# 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>`

Go to the source code of this file.

## 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 | OBMolBondBFSIter
| Iterate over all bonds 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...
## Namespaces
namespace | OpenBabel
## 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_BONDBFS_OF_MOL(b, m) for( OBMolBondBFSIter b(m); b; ++b )
#define | FOR_RINGS_OF_MOL(r, 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,
|  |  | m
| ) |  | for( OBMolAtomIter a(m); a; ++a )

Referenced by OBBuilder::Build(), OpenBabel::CanonicalLabels(), OpenBabel::CompileAutomorphismQuery(), OpenBabel::CompileMoleculeQuery(), OBForceField::ConjugateGradientsInitialize(), OBForceField::ConjugateGradientsTakeNSteps(), OBAtomTyper::CorrectAromaticNitrogens(), OBForceField::CorrectVelocities(), OBForceField::DetectExplosion(), OBForceField::DistanceGeometry(), OBUnitCell::FillUnitCell(), OBMol::FindAngles(), OpenBabel::findMetalloceneBonds(), OBForceField::GenerateVelocities(), OBForceField::GetAtomTypes(), OBForceField::GetCoordinates(), OBChargeModel::GetDipoleMoment(), OBForceField::GetGrid(), OBForceField::GetPartialCharges(), OBMol::GetSpacedFormula(), OpenBabel::has_leftover_electrons(), OBForceField::IsSetupNeeded(), OBForceField::MolecularDynamicsTakeNSteps(), OBGraphSym::OBGraphSym(), OBMol::operator=(), OBChainsParser::PerceiveChains(), OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(), OBForceField::PrintVelocities(), AliasData::RevertToAliasForm(), OBForceField::SetConformers(), OBForceField::SetCoordinates(), OBForceField::SteepestDescentTakeNSteps(), and OBAlign::UpdateCoords().

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

Referenced by OBBuilder::Build(), OpenBabel::CanonicalLabels(), OpenBabel::CompileAutomorphismQuery(), OpenBabel::CompileMoleculeQuery(), OBForceField::DetectExplosion(), OBMol::GetNextFragment(), and OBMol::NewPerceiveKekuleBonds().

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

Referenced by OpenBabel::addNbrs(), OBBuilder::AddNbrs(), OBBuilder::Build(), OBBuilder::Connect(), OBForceField::DistanceGeometry(), OBMol::FindAngles(), OpenBabel::findMetalloceneBonds(), OpenBabel::getFragment(), OBBuilder::GetNewBondVector(), and OBChainsParser::PerceiveChains().

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

Referenced by OpenBabel::CanonicalLabels(), OBBuilder::CorrectStereoAtoms(), OBMol::FindChildren(), OpenBabel::get_bonds_of_ring(), OpenBabel::has_leftover_electrons(), and OBBuilder::IsSpiroAtom().

#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 )

Referenced by OBMol::operator+=().

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

Referenced by OBBuilder::Build().

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

#define FOR_BONDBFS_OF_MOL | ( |  | b,
|  |  | m
| ) |  | for( OBMolBondBFSIter b(m); b; ++b )

#define FOR_RINGS_OF_MOL | ( |  | r,
|  |  | 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 )

Referenced by OBForceField::GetNumPairs(), and OBForceField::UpdatePairsSimple().

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines