29 #ifndef CDPL_CHEM_BASICBOND_HPP
30 #define CDPL_CHEM_BASICBOND_HPP
166 using Bond::operator=;
175 void setIndex(std::size_t idx);
Definition of class CDPL::Chem::Bond.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Abstract base class representing a chemical atom and its bonded neighborhood.
Definition: Atom.hpp:57
Concrete Chem::Atom implementation used as the atom type of Chem::BasicMolecule.
Definition: BasicAtom.hpp:58
Default implementation of the Chem::Bond interface.
Definition: BasicBond.hpp:52
const Atom & getNeighbor(const Atom &atom) const
Returns the atom on the opposite side of atom.
std::size_t getAtomIndex(const Atom &atom) const
Returns the index of atom within this bond.
Molecule & getMolecule()
Returns the parent molecule.
Atom & getAtom(std::size_t idx)
Returns the bond atom at index idx.
const Atom & getBegin() const
Returns the first atom of the bond.
std::size_t getNumAtoms() const
Returns the number of atoms incident to this bond (always 2).
BasicBond & operator=(const BasicBond &bond)
Assignment operator that replaces the current set of properties with the properties of bond;.
Atom & getEnd()
Returns the second atom of the bond.
bool containsAtom(const Atom &atom) const
Tells whether atom is one of the two bonded atoms.
const Molecule & getMolecule() const
Returns the parent molecule.
std::size_t getIndex() const
Returns the zero-based index of this bond within the parent molecule.
Atom & getNeighbor(const Atom &atom)
Returns the atom on the opposite side of atom.
void orderAtoms(const AtomCompareFunction &func)
Reorders the begin/end atoms of this bond according to the comparison function func.
Atom & getBegin()
Returns the first atom of the bond.
const Atom & getAtom(std::size_t idx) const
Returns the bond atom at index idx.
const Atom & getEnd() const
Returns the second atom of the bond.
Concrete Chem::Molecule implementation that owns Chem::BasicAtom and Chem::BasicBond instances.
Definition: BasicMolecule.hpp:60
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Abstract base class representing a mutable molecular graph that owns its atoms and bonds.
Definition: Molecule.hpp:53
std::function< bool(const Atom &, const Atom &)> AtomCompareFunction
Generic wrapper class used to store a user-defined atom compare function.
Definition: AtomCompareFunction.hpp:41
The namespace of the Chemical Data Processing Library.