OBMolBondIter Class Reference

Iterate over all bonds in an OBMol. More...

#include <openbabel/obiter.h>

List of all members.

Public Member Functions

 OBMolBondIter ()
 OBMolBondIter (OBMol *mol)
 OBMolBondIter (OBMol &mol)
 OBMolBondIter (const OBMolBondIter &bi)
 ~OBMolBondIter ()
OBMolBondIteroperator= (const OBMolBondIter &bi)
 operator bool () const
OBMolBondIteroperator++ ()
OBMolBondIter operator++ (int)
OBBondoperator-> () const
OBBondoperator* () const

Detailed Description

Iterate over all bonds in an OBMol.

To facilitate iteration through all bonds in a molecule, without resorting to bond indexes (which may change in the future), a variety of iterators are provided.

This has been made significantly easier by a series of macros in the obiter.h header file:

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

Here is an example:

      #include <openbabel/obiter.h>
      #include <openbabel/mol.h>

      OpenBabel::OBMol mol;
      unsigned int bondOrderSum = 0;
      FOR_BONDS_OF_MOL(b, mol)
         // The variable b behaves like OBBond* when used with -> and * but
         // but needs to be explicitly converted when appearing as a parameter
         // in a function call - use &*b
         bondOrderSum +=  b->GetBO();

Constructor & Destructor Documentation

OBMolBondIter (  )  [inline]
OBMolBondIter ( OBMol mol  ) 
OBMolBondIter ( OBMol mol  ) 
OBMolBondIter ( const OBMolBondIter bi  ) 
~OBMolBondIter (  )  [inline]

Member Function Documentation

OBMolBondIter & operator= ( const OBMolBondIter bi  ) 
operator bool (  )  const [inline]
Whether the iterator can still advance (i.e., visit more bonds)
OBMolBondIter & operator++ (  ) 

Preincrement -- advance to the next bond and return.

Referenced by OBMolBondIter::operator++().

OBMolBondIter operator++ ( int   ) 

Postincrement -- return the current bond and advance to the next.

OBBond* operator-> (  )  const [inline]
a pointer to the current bond
OBBond& operator* (  )  const [inline]
a reference to the current bond

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines