Open Babel: OBAtomAtomIter Class Reference

Public Member Functions

# 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 ()
OBAtomAtomIter & | operator= (const OBAtomAtomIter &ai)
| operator bool () const
OBAtomAtomIter & | operator++ ()
OBAtomAtomIter | operator++ (int)
OBAtom * | operator-> () const
OBAtom & | operator* () 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:

- obiter.h
- obiter.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines