OBMolBondIter Class Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
OBMolBondIter Class Reference

`#include <openbabel/obiter.h>`

List of all members.

## Public Member Functions
| OBMolBondIter ()
| OBMolBondIter (OBMol *mol)
| OBMolBondIter (OBMol &mol)
| OBMolBondIter (const OBMolBondIter &bi)
| ~OBMolBondIter ()
OBMolBondIter & | operator= (const OBMolBondIter &bi)
| operator bool () const
OBMolBondIter & | operator++ ()
OBMolBondIter | operator++ (int)
OBBond * | operator-> () const
OBBond & | operator* () 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>

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

Returns:
  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]`

Returns:
  a pointer to the current bond

OBBond& operator* | ( |  | ) | const`[inline]`

Returns:
  a reference to the current bond

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