Chemical Data Processing Library C++ API - Version 1.2.0
Public Types | Public Member Functions | List of all members
CDPL::Chem::CyclicSubstructure Class Reference

Implements the perception of ring atoms and bonds in a molecular graph. More...

#include <CyclicSubstructure.hpp>

+ Inheritance diagram for CDPL::Chem::CyclicSubstructure:

Public Types

typedef std::shared_ptr< CyclicSubstructureSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated CyclicSubstructure instances. More...
 
- Public Types inherited from CDPL::Chem::Fragment
typedef std::shared_ptr< FragmentSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated Fragment instances. More...
 
typedef boost::indirect_iterator< AtomList::const_iterator, const AtomConstAtomIterator
 A constant random access iterator used to iterate over the stored const Chem::Atom objects. More...
 
typedef boost::indirect_iterator< AtomList::iterator, AtomAtomIterator
 A mutable random access iterator used to iterate over the stored const Chem::Atom objects. More...
 
typedef boost::indirect_iterator< BondList::const_iterator, const BondConstBondIterator
 A constant random access iterator used to iterate over the stored const Chem::Bond objects. More...
 
typedef boost::indirect_iterator< BondList::iterator, BondBondIterator
 A mutable random access iterator used to iterate over the stored const Chem::Bond objects. More...
 
- Public Types inherited from CDPL::Chem::MolecularGraph
typedef std::shared_ptr< MolecularGraphSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MolecularGraph instances. More...
 
- Public Types inherited from CDPL::Chem::AtomContainer
typedef Util::IndexedElementIterator< const Atom, ConstAtomAccessor > ConstAtomIterator
 A constant random access iterator used to iterate over the stored const Chem::Atom objects. More...
 
typedef Util::IndexedElementIterator< Atom, AtomAccessor > AtomIterator
 A mutable random access iterator used to iterate over the stored Chem::Atom objects. More...
 
- Public Types inherited from CDPL::Chem::Entity3DContainer
typedef Util::IndexedElementIterator< const Entity3D, ConstEntityAccessor > ConstEntityIterator
 A constant random access iterator used to iterate over the stored const Chem::Entity3D objects. More...
 
typedef Util::IndexedElementIterator< Entity3D, EntityAccessor > EntityIterator
 A mutable random access iterator used to iterate over the stored Chem::Entity3D objects. More...
 
- Public Types inherited from CDPL::Chem::BondContainer
typedef Util::IndexedElementIterator< const Bond, ConstBondAccessor > ConstBondIterator
 A constant random access iterator used to iterate over the stored const Chem::Bond objects. More...
 
typedef Util::IndexedElementIterator< Bond, BondAccessor > BondIterator
 A mutable random access iterator used to iterate over the stored Chem::Bond objects. More...
 
- Public Types inherited from CDPL::Base::PropertyContainer
typedef PropertyMap::value_type PropertyEntry
 A Base::LookupKey / Base::Any pair that stores the property value for a given property key. More...
 
typedef PropertyMap::const_iterator ConstPropertyIterator
 A constant iterator used to iterate over the property entries. More...
 

Public Member Functions

 CyclicSubstructure ()
 Constructs an empty CyclicSubstructure instance. More...
 
 CyclicSubstructure (const MolecularGraph &molgraph)
 Construct a CyclicSubstructure instance that consists of the ring atoms and bonds of the molecular graph molgraph. More...
 
 CyclicSubstructure (const CyclicSubstructure &)=delete
 
CyclicSubstructureoperator= (const CyclicSubstructure &)=delete
 
void perceive (const MolecularGraph &molgraph)
 Replaces the currently stored atoms and bonds by the set of ring atoms and bonds of the molecular graph molgraph. More...
 
- Public Member Functions inherited from CDPL::Chem::Fragment
 Fragment ()
 Constructs an empty Fragment instance. More...
 
 Fragment (const Fragment &frag)
 Constructs a copy of the Fragment instance frag. More...
 
 Fragment (const MolecularGraph &molgraph)
 Constructs a Fragment instance storing the atoms, bonds and properties of the molecular graph molgraph. More...
 
 ~Fragment ()
 Destructor. More...
 
std::size_t getNumAtoms () const
 Returns the number of atoms. More...
 
std::size_t getNumBonds () const
 Returns the number of bonds. More...
 
bool containsAtom (const Atom &atom) const
 Tells whether the specified atom is part of this fragment. More...
 
bool containsBond (const Bond &bond) const
 Tells whether the specified bond is part of this fragment. More...
 
std::size_t getAtomIndex (const Atom &atom) const
 Returns the index of the specified atom. More...
 
std::size_t getBondIndex (const Bond &bond) const
 Returns the index of the specified bond. More...
 
ConstAtomIterator getAtomsBegin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Atom objects. More...
 
AtomIterator getAtomsBegin ()
 Returns a mutable iterator pointing to the beginning of the stored const Chem::Atom objects. More...
 
ConstAtomIterator getAtomsEnd () const
 Returns a constant iterator pointing to the end of the stored const Chem::Atom objects. More...
 
AtomIterator getAtomsEnd ()
 Returns a mutable iterator pointing to the end of the stored const Chem::Atom objects. More...
 
ConstBondIterator getBondsBegin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Bond objects. More...
 
BondIterator getBondsBegin ()
 Returns a mutable iterator pointing to the beginning of the stored const Chem::Bond objects. More...
 
ConstBondIterator getBondsEnd () const
 Returns a constant iterator pointing to the end of the stored const Chem::Bond objects. More...
 
BondIterator getBondsEnd ()
 Returns a mutable iterator pointing to the end of the stored const Chem::Bond objects. More...
 
const AtomgetAtom (std::size_t idx) const
 Returns a const reference to the atom at index idx. More...
 
AtomgetAtom (std::size_t idx)
 Returns a non-const reference to the atom at index idx. More...
 
const BondgetBond (std::size_t idx) const
 Returns a const reference to the bond at index idx. More...
 
BondgetBond (std::size_t idx)
 Returns a non-const reference to the bond at index idx. More...
 
bool addAtom (const Atom &atom)
 Extends the fragment by the specified atom. More...
 
bool addBond (const Bond &bond)
 Extends the fragment by the specified bond. More...
 
void removeAtom (std::size_t idx)
 Removes the atom at the specified index. More...
 
AtomIterator removeAtom (const AtomIterator &it)
 Removes the atom specified by the iterator it. More...
 
bool removeAtom (const Atom &atom)
 Removes the specified atom. More...
 
void removeBond (std::size_t idx)
 Removes the bond at the specified index. More...
 
BondIterator removeBond (const BondIterator &it)
 Removes the bond specified by the iterator it. More...
 
bool removeBond (const Bond &bond)
 Removes the specified bond. More...
 
void clear ()
 Removes all atoms and bonds. More...
 
void swap (Fragment &frag)
 Exchanges the atoms, bonds and properties of this fragment with the atoms, bonds and properties of the fragment frag. More...
 
void orderAtoms (const AtomCompareFunction &func)
 Orders the stored atoms according to criteria implemented by the provided atom comparison function. More...
 
void orderBonds (const BondCompareFunction &func)
 Orders the stored bonds according to criteria implemented by the provided bond comparison function. More...
 
Fragmentoperator= (const Fragment &frag)
 Replaces the current set of atoms, bonds and properties by the atoms, bonds and properties of the fragment frag. More...
 
Fragmentoperator= (const MolecularGraph &molgraph)
 Replaces the current set of atoms, bonds and properties by the atoms, bonds and properties of the molecular graph molgraph. More...
 
Fragmentoperator+= (const MolecularGraph &molgraph)
 Extends the current set of atoms and bonds by the atoms and bonds in the molecular graph molgraph. More...
 
Fragmentoperator-= (const MolecularGraph &molgraph)
 Removes the atoms and bonds referenced by the molecular graph molgraph from this Fragment instance. More...
 
MolecularGraph::SharedPointer clone () const
 Creates a copy of the molecular graph. More...
 
void reserveMemoryForAtoms (std::size_t num_atoms)
 
void reserveMemoryForBonds (std::size_t num_bonds)
 
- Public Member Functions inherited from CDPL::Chem::MolecularGraph
virtual ~MolecularGraph ()
 Virtual destructor. More...
 
- Public Member Functions inherited from CDPL::Chem::AtomContainer
ConstAtomIterator getAtomsBegin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Atom objects. More...
 
ConstAtomIterator getAtomsEnd () const
 Returns a constant iterator pointing to the end of the stored const Chem::Atom objects. More...
 
AtomIterator getAtomsBegin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Atom objects. More...
 
AtomIterator getAtomsEnd ()
 Returns a mutable iterator pointing to the end of the stored Chem::Atom objects. More...
 
ConstAtomIterator begin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Atom objects. More...
 
ConstAtomIterator end () const
 Returns a constant iterator pointing to the end of the stored const Chem::Atom objects. More...
 
AtomIterator begin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Atom objects. More...
 
AtomIterator end ()
 Returns a mutable iterator pointing to the end of the stored Chem::Atom objects. More...
 
virtual std::size_t getNumEntities () const
 Returns the number of stored Chem::Entity3D objects. More...
 
virtual const Entity3DgetEntity (std::size_t idx) const
 Returns a const reference to the Chem::Entity3D instance at index idx. More...
 
virtual Entity3DgetEntity (std::size_t idx)
 Returns a non-const reference to the entity at index idx. More...
 
const AtomContainergetAtoms () const
 Returns a const reference to itself. More...
 
AtomContainergetAtoms ()
 Returns a reference to itself. More...
 
- Public Member Functions inherited from CDPL::Chem::Entity3DContainer
ConstEntityIterator getEntitiesBegin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Entity3D objects. More...
 
ConstEntityIterator getEntitiesEnd () const
 Returns a constant iterator pointing to the end of the stored const Chem::Entity3D objects. More...
 
EntityIterator getEntitiesBegin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Entity3D objects. More...
 
EntityIterator getEntitiesEnd ()
 Returns a mutable iterator pointing to the end of the stored Chem::Entity3D objects. More...
 
ConstEntityIterator begin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Entity3D objects. More...
 
ConstEntityIterator end () const
 Returns a constant iterator pointing to the end of the stored const Chem::Entity3D objects. More...
 
EntityIterator begin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Entity3D objects. More...
 
EntityIterator end ()
 Returns a mutable iterator pointing to the end of the stored Chem::Entity3D objects. More...
 
const Entity3DContainergetEntities () const
 Returns a const reference to itself. More...
 
Entity3DContainergetEntities ()
 Returns a reference to itself. More...
 
- Public Member Functions inherited from CDPL::Chem::BondContainer
ConstBondIterator getBondsBegin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Bond objects. More...
 
ConstBondIterator getBondsEnd () const
 Returns a constant iterator pointing to the end of the stored const Chem::Bond objects. More...
 
BondIterator getBondsBegin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Bond objects. More...
 
BondIterator getBondsEnd ()
 Returns a mutable iterator pointing to the end of the stored Chem::Bond objects. More...
 
ConstBondIterator begin () const
 Returns a constant iterator pointing to the beginning of the stored const Chem::Bond objects. More...
 
ConstBondIterator end () const
 Returns a constant iterator pointing to the end of the stored const Chem::Bond objects. More...
 
BondIterator begin ()
 Returns a mutable iterator pointing to the beginning of the stored Chem::Bond objects. More...
 
BondIterator end ()
 Returns a mutable iterator pointing to the end of the stored Chem::Bond objects. More...
 
const BondContainergetBonds () const
 Returns a const reference to itself. More...
 
BondContainergetBonds ()
 Returns a reference to itself. More...
 
- Public Member Functions inherited from CDPL::Base::PropertyContainer
std::size_t getNumProperties () const
 Returns the number of property entries. More...
 
template<typename T >
void setProperty (const LookupKey &key, T &&val)
 Sets the value of the property specified by key to val. More...
 
template<typename T >
const T & getProperty (const LookupKey &key) const
 Returns the value of the property specified by key as a const reference to an object of type T. More...
 
template<typename T >
const T & getPropertyOrDefault (const LookupKey &key, const T &def_val) const
 Returns the value of the property specified by key as a const reference to an object of type T, or the default value def_val if a stored value does not exist. More...
 
const AnygetProperty (const LookupKey &key, bool throw_=false) const
 Returns the value of the property specified by key. More...
 
bool isPropertySet (const LookupKey &key) const
 Tells whether or not a value has been assigned to the property specified by key. More...
 
ConstPropertyIterator getPropertiesBegin () const
 Returns a constant iterator pointing to the beginning of the property entries. More...
 
ConstPropertyIterator getPropertiesEnd () const
 Returns a constant iterator pointing to the end of the property entries. More...
 
ConstPropertyIterator begin () const
 Returns a constant iterator pointing to the beginning of the property entries. More...
 
ConstPropertyIterator end () const
 Returns a constant iterator pointing to the end of the property entries. More...
 
bool removeProperty (const LookupKey &key)
 Clears the value of the property specified by key. More...
 
void clearProperties ()
 Clears all property values. More...
 
void addProperties (const PropertyContainer &cntnr)
 Adds the property value entries in the PropertyContainer instance cntnr. More...
 
void copyProperties (const PropertyContainer &cntnr)
 Replaces the current set of properties by a copy of the entries in cntnr. More...
 
void swap (PropertyContainer &cntnr)
 Exchanges the properties of this container with the properties of the container cntnr. More...
 
const PropertyContainergetProperties () const
 Returns a const reference to itself. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Chem::MolecularGraph
MolecularGraphoperator= (const MolecularGraph &molgraph)
 Assignment operator. More...
 
- Protected Member Functions inherited from CDPL::Chem::AtomContainer
virtual ~AtomContainer ()
 Virtual destructor. More...
 
AtomContaineroperator= (const AtomContainer &cntnr)
 Assignment operator. More...
 
- Protected Member Functions inherited from CDPL::Chem::Entity3DContainer
virtual ~Entity3DContainer ()
 Virtual destructor. More...
 
Entity3DContaineroperator= (const Entity3DContainer &cntnr)
 Assignment operator. More...
 
- Protected Member Functions inherited from CDPL::Chem::BondContainer
virtual ~BondContainer ()
 Virtual destructor. More...
 
BondContaineroperator= (const BondContainer &cntnr)
 Assignment operator. More...
 
- Protected Member Functions inherited from CDPL::Base::PropertyContainer
 PropertyContainer ()
 Constructs an empty PropertyContainer instance. More...
 
 PropertyContainer (const PropertyContainer &cntnr)
 Constructs a copy of the PropertyContainer instance cntnr. More...
 
virtual ~PropertyContainer ()
 Virtual destructor. More...
 
PropertyContaineroperator= (const PropertyContainer &cntnr)
 Assignment operator. More...
 

Detailed Description

Implements the perception of ring atoms and bonds in a molecular graph.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated CyclicSubstructure instances.

Constructor & Destructor Documentation

◆ CyclicSubstructure() [1/3]

CDPL::Chem::CyclicSubstructure::CyclicSubstructure ( )
inline

Constructs an empty CyclicSubstructure instance.

◆ CyclicSubstructure() [2/3]

CDPL::Chem::CyclicSubstructure::CyclicSubstructure ( const MolecularGraph molgraph)

Construct a CyclicSubstructure instance that consists of the ring atoms and bonds of the molecular graph molgraph.

Parameters
molgraphThe molecular graph for which to perceive ring atoms and bonds.

◆ CyclicSubstructure() [3/3]

CDPL::Chem::CyclicSubstructure::CyclicSubstructure ( const CyclicSubstructure )
delete

Member Function Documentation

◆ operator=()

CyclicSubstructure& CDPL::Chem::CyclicSubstructure::operator= ( const CyclicSubstructure )
delete

◆ perceive()

void CDPL::Chem::CyclicSubstructure::perceive ( const MolecularGraph molgraph)

Replaces the currently stored atoms and bonds by the set of ring atoms and bonds of the molecular graph molgraph.

Parameters
molgraphThe molecular graph for which to perceive ring atoms and bonds.

The documentation for this class was generated from the following file: