Open Babel: OBResidueIter Class Reference

Public Member Functions

# OBResidueIter Class Reference

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

`#include <openbabel/obiter.h>`

List of all members.

## Public Member Functions
| OBResidueIter ()
| OBResidueIter (OBMol *mol)
| OBResidueIter (OBMol &mol)
| OBResidueIter (const OBResidueIter &ri)
| ~OBResidueIter ()
OBResidueIter & | operator= (const OBResidueIter &ri)
| operator bool () const
OBResidueIter & | operator++ ()
OBResidueIter | operator++ (int)
OBResidue * | operator-> () const
OBResidue & | operator* () const

## Detailed Description

Iterate over all residues in an OBMol.

To facilitate iteration through all residues in a molecule, without resorting to residue 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_RESIDUES_OF_MOL(r,m)     for( OBResidueIter     r(m); r; ++r )

Here is an example:

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

          OBMol mol;
          FOR_RESIDUES_OF_MOL(r, mol)
          {
             // The variable r behaves like OBResidue* when used with -> and * but
             // but needs to be explicitly converted when appearing as a parameter
             // in a function call - use &*r

             if (r->GetName() == resname && r->GetNum() == rnum)
             {
                // got a match, let's go to work
                ...
             }
          }

## Constructor & Destructor Documentation

OBResidueIter | ( | ) | `[inline]`

OBResidueIter | ( | OBMol * | mol ) |

OBResidueIter | ( | OBMol & | mol ) |

OBResidueIter | ( | const OBResidueIter & | ri ) |

~OBResidueIter | ( | ) | `[inline]`

## Member Function Documentation

OBResidueIter & operator= | ( | const OBResidueIter & | ri ) |

operator bool | ( | ) | const`[inline]`

Returns:
  Whether the iterator can still advance (i.e., visit more residues)

OBResidueIter & operator++ | ( | ) |

Preincrement -- advance to the next residue and return.

Referenced by OBResidueIter::operator++().

OBResidueIter operator++ | ( | int | ) |

Postincrement -- return the current state and advance to the next residue.

OBResidue* operator-> | ( | ) | const`[inline]`

Returns:
  a pointer to the current residue

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

Returns:
  a reference to the current residue

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