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 ()
OBResidueIteroperator= (const OBResidueIter &ri)
 operator bool () const
OBResidueIteroperator++ ()
OBResidueIter operator++ (int)
OBResidueoperator-> () const
OBResidueoperator* () 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>

      OpenBabel::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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines