OBAtomAtomIter Class Reference

Iterate over all neighboring atoms to an OBAtom. More...

#include <openbabel/obiter.h>

List of all members.

Public Member Functions

 OBAtomAtomIter ()
 OBAtomAtomIter (OBAtom *atm)
 OBAtomAtomIter (OBAtom &atm)
 OBAtomAtomIter (const OBAtomAtomIter &ai)
 ~OBAtomAtomIter ()
OBAtomAtomIteroperator= (const OBAtomAtomIter &ai)
 operator bool () const
OBAtomAtomIteroperator++ ()
OBAtomAtomIter operator++ (int)
OBAtomoperator-> () const
OBAtomoperator* () const

Detailed Description

Iterate over all neighboring atoms to an OBAtom.

To facilitate iteration through all neighbors of an atom, without resorting to bond indexes (which may change in the future), a variety of iterator classes and methods are provided.

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

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

Here is an example:

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

      OBMol mol;
      FOR_ATOMS_OF_MOL(a, mol)
      {
         // The variable a behaves like OBAtom* when used with -> and * but
         // but needs to be explicitly converted when appearing as a parameter
         // in a function call - use &*a
         FOR_NBORS_OF_ATOM(b, &*a)
         {
            ...
         }
      }

Constructor & Destructor Documentation

OBAtomAtomIter (  ) [inline]
OBAtomAtomIter ( OBAtom atm )
OBAtomAtomIter ( OBAtom atm )
OBAtomAtomIter ( const OBAtomAtomIter ai )
~OBAtomAtomIter (  ) [inline]

Member Function Documentation

OBAtomAtomIter & operator= ( const OBAtomAtomIter ai )
operator bool (  ) const [inline]
Returns:
Whether the iterator can still advance (i.e., visit more neighbors)
OBAtomAtomIter & operator++ (  )

Preincrement -- advance to the next neighbor and return.

Referenced by OBAtomAtomIter::operator++().

OBAtomAtomIter operator++ ( int   )

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

OBAtom* operator-> (  ) const [inline]
Returns:
a pointer to the current atom
OBAtom& operator* (  ) const [inline]
Returns:
a reference to the current atom

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