![]() |
Chemical Data Processing Library C++ API - Version 1.2.3
|
#include <Reaction.hpp>
Inheritance diagram for CDPL::Chem::Reaction:Public Types | |
| typedef std::shared_ptr< Reaction > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated Reaction instances. More... | |
| typedef Util::IndexedElementIterator< const Molecule, ConstComponentAccessor > | ConstComponentIterator |
| A constant random access iterator used to iterate over the components of the reaction. More... | |
| typedef Util::IndexedElementIterator< Molecule, ComponentAccessor > | ComponentIterator |
| A mutable random access iterator used to iterate over the components of the reaction. More... | |
| typedef std::function< void(Reaction &, const Reaction &)> | CopyPostprocessingFunction |
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 | |
| virtual | ~Reaction () |
| Virtual destructor. More... | |
| virtual void | clear ()=0 |
| Removes all components and clears all properties of the reaction. More... | |
| virtual std::size_t | getNumComponents () const =0 |
| Returns the number of reaction components. More... | |
| virtual std::size_t | getNumComponents (unsigned int role) const =0 |
| Returns the number of reaction components with the specified role. More... | |
| virtual unsigned int | getComponentRole (const Molecule &mol) const =0 |
| Returns the reaction role of the specified component. More... | |
| virtual std::size_t | getComponentIndex (const Molecule &mol) const =0 |
| Returns the index of the specified reaction component. More... | |
| virtual bool | containsComponent (const Molecule &mol) const =0 |
| Tells whether the specified molecule is a component of this reaction. More... | |
| ConstComponentIterator | getComponentsBegin () const |
| Returns a constant iterator pointing to the beginning of the reaction components. More... | |
| ComponentIterator | getComponentsBegin () |
| Returns a mutable iterator pointing to the beginning of the reaction components. More... | |
| ConstComponentIterator | getComponentsEnd () const |
| Returns a constant iterator pointing to the end of the reaction components. More... | |
| ComponentIterator | getComponentsEnd () |
| Returns a mutable iterator pointing to the end of the reaction components. More... | |
| ConstComponentIterator | begin () const |
| Returns a constant iterator pointing to the beginning of the reaction components. More... | |
| ComponentIterator | begin () |
| Returns a mutable iterator pointing to the beginning of the reaction components. More... | |
| ConstComponentIterator | end () const |
| Returns a constant iterator pointing to the end of the reaction components. More... | |
| ComponentIterator | end () |
| Returns a mutable iterator pointing to the end of the reaction components. More... | |
| ConstComponentIterator | getComponentsBegin (unsigned int role) const |
| Returns a constant iterator pointing to the beginning of the reaction components with the specified role. More... | |
| ComponentIterator | getComponentsBegin (unsigned int role) |
| Returns a mutable iterator pointing to the beginning of the reaction components with the specified role. More... | |
| ConstComponentIterator | getComponentsEnd (unsigned int role) const |
| Returns a constant iterator pointing to the end of the reaction components with the specified role. More... | |
| ComponentIterator | getComponentsEnd (unsigned int role) |
| Returns a mutable iterator pointing to the end of the reaction components with the specified role. More... | |
| virtual const Molecule & | getComponent (std::size_t idx) const =0 |
Returns a const reference to the reaction component at index idx. More... | |
| virtual Molecule & | getComponent (std::size_t idx)=0 |
Returns a non-const reference to the reaction component at index idx. More... | |
| virtual const Molecule & | getComponent (std::size_t idx, unsigned int role) const =0 |
Returns a const reference to the reaction component at index idx in the list of components with the specified role. More... | |
| virtual Molecule & | getComponent (std::size_t idx, unsigned int role)=0 |
Returns a non-const reference to the reaction component at index idx in the list of components with the specified role. More... | |
| virtual Molecule & | addComponent (unsigned int role)=0 |
| Creates a new reaction component with the specified role. More... | |
| virtual void | swapComponentRoles (unsigned int role1, unsigned int role2)=0 |
| Swaps the reaction roles of the component sets specified by role1 and role2. More... | |
| virtual void | removeComponent (std::size_t idx)=0 |
| Removes the reaction component at the specified index. More... | |
| virtual void | removeComponent (std::size_t idx, unsigned int role)=0 |
| Removes the reaction component at index idx in the list of components with the specified role. More... | |
| ComponentIterator | removeComponent (const ComponentIterator &it) |
| Removes the reaction component specified by the iterator it. More... | |
| virtual void | removeComponents (unsigned int role)=0 |
| Removes all components with the specified role. More... | |
| virtual SharedPointer | clone () const =0 |
| Creates a copy of the current reaction state. More... | |
| virtual void | copy (const Reaction &rxn)=0 |
| Replaces the current set of reaction components and properties by a copy of the components and properties of the reaction rxn. More... | |
| Reaction & | operator= (const Reaction &rxn) |
| Replaces the current set of reaction components and properties by a copy of the components and properties of the reaction rxn. 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 Any & | getProperty (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 PropertyContainer & | getProperties () const |
Returns a const reference to itself. More... | |
Static Public Member Functions | |
| static void | registerCopyPostprocessingFunction (const CopyPostprocessingFunction &func) |
Protected Member Functions | |
| void | invokeCopyPostprocessingFunctions (const Reaction &src_rxn) |
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... | |
| PropertyContainer & | operator= (const PropertyContainer &cntnr) |
| Assignment operator. More... | |
| typedef std::shared_ptr<Reaction> CDPL::Chem::Reaction::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated Reaction instances.
| typedef Util::IndexedElementIterator<const Molecule, ConstComponentAccessor> CDPL::Chem::Reaction::ConstComponentIterator |
A constant random access iterator used to iterate over the components of the reaction.
| typedef Util::IndexedElementIterator<Molecule, ComponentAccessor> CDPL::Chem::Reaction::ComponentIterator |
A mutable random access iterator used to iterate over the components of the reaction.
| typedef std::function<void(Reaction&, const Reaction&)> CDPL::Chem::Reaction::CopyPostprocessingFunction |
|
inlinevirtual |
Virtual destructor.
|
pure virtual |
Removes all components and clears all properties of the reaction.
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns the number of reaction components.
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns the number of reaction components with the specified role.
| role | A flag that specifies the reaction role (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns the reaction role of the specified component.
If the specified molecule is not a component of this reaction, Chem::ReactionRole::NONE will be returned.
| mol | The component for which to return the reaction role. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns the index of the specified reaction component.
| mol | The component for which to return the index. |
| Base::ItemNotFound | if the specified molecule is not a component of this reaction. |
Implemented in CDPL::Chem::BasicReaction.
Tells whether the specified molecule is a component of this reaction.
| mol | The molecule to look for. |
true if the specified molecule is a component of this reaction, and false otherwise. Implemented in CDPL::Chem::BasicReaction.
| ConstComponentIterator CDPL::Chem::Reaction::getComponentsBegin | ( | ) | const |
Returns a constant iterator pointing to the beginning of the reaction components.
| ComponentIterator CDPL::Chem::Reaction::getComponentsBegin | ( | ) |
Returns a mutable iterator pointing to the beginning of the reaction components.
| ConstComponentIterator CDPL::Chem::Reaction::getComponentsEnd | ( | ) | const |
Returns a constant iterator pointing to the end of the reaction components.
| ComponentIterator CDPL::Chem::Reaction::getComponentsEnd | ( | ) |
Returns a mutable iterator pointing to the end of the reaction components.
| ConstComponentIterator CDPL::Chem::Reaction::begin | ( | ) | const |
Returns a constant iterator pointing to the beginning of the reaction components.
| ComponentIterator CDPL::Chem::Reaction::begin | ( | ) |
Returns a mutable iterator pointing to the beginning of the reaction components.
| ConstComponentIterator CDPL::Chem::Reaction::end | ( | ) | const |
Returns a constant iterator pointing to the end of the reaction components.
| ComponentIterator CDPL::Chem::Reaction::end | ( | ) |
Returns a mutable iterator pointing to the end of the reaction components.
| ConstComponentIterator CDPL::Chem::Reaction::getComponentsBegin | ( | unsigned int | role | ) | const |
Returns a constant iterator pointing to the beginning of the reaction components with the specified role.
| role | A flag that specifies the reaction role (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
| ComponentIterator CDPL::Chem::Reaction::getComponentsBegin | ( | unsigned int | role | ) |
Returns a mutable iterator pointing to the beginning of the reaction components with the specified role.
| role | A flag that specifies the reaction role (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
| ConstComponentIterator CDPL::Chem::Reaction::getComponentsEnd | ( | unsigned int | role | ) | const |
Returns a constant iterator pointing to the end of the reaction components with the specified role.
| role | A flag that specifies the reaction role (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
| ComponentIterator CDPL::Chem::Reaction::getComponentsEnd | ( | unsigned int | role | ) |
Returns a mutable iterator pointing to the end of the reaction components with the specified role.
| role | A flag that specifies the reaction role (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
|
pure virtual |
Returns a const reference to the reaction component at index idx.
| idx | The zero-based index of the reaction component to return. |
const reference to the reaction component at the specified index. | Base::IndexError | if the number of components is zero or idx is not in the range [0, getNumComponents() - 1]. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns a non-const reference to the reaction component at index idx.
| idx | The zero-based index of the reaction component to return. |
const reference to the reaction component at the specified index. | Base::IndexError | if the number of components is zero or idx is not in the range [0, getNumComponents() - 1]. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns a const reference to the reaction component at index idx in the list of components with the specified role.
| idx | The zero-based index of the reaction component to return. |
| role | A flag indicating the reaction role of the component (see namespace Chem::ReactionRole). |
const reference to the reaction component with the specified role and index. | Base::IndexError | if the number of components with the specified role is zero or idx is not in the range [0, getNumComponents(role) - 1]. Base::ValueError if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Returns a non-const reference to the reaction component at index idx in the list of components with the specified role.
| idx | The zero-based index of the reaction component to return. |
| role | A flag indicating the reaction role of the component (see namespace Chem::ReactionRole). |
const reference to the reaction component with the specified role and index. | Base::IndexError | if the number of components with the specified role is zero or idx is not in the range [0, getNumComponents(role) - 1]. Base::ValueError if the value of role is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Creates a new reaction component with the specified role.
| role | A flag specifying the reaction role of the new component (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Swaps the reaction roles of the component sets specified by role1 and role2.
If role1 is equal to role2, the method has no effect.
| role1 | A flag specifying the reaction role of the first component set (see namespace Chem::ReactionRole). |
| role2 | A flag specifying the reaction role of the second component set (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role1 and/or role2 is not equal to Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Removes the reaction component at the specified index.
| idx | The zero-based index of the component to remove. |
| Base::IndexError | if the number of components is zero or idx is not in the range [0, getNumComponents() - 1]. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Removes the reaction component at index idx in the list of components with the specified role.
| idx | The zero-based index of the component to remove. |
| role | The reaction role of the components |
| Base::IndexError | if the number of components with the specified role is zero or idx is not in the range [0, getNumComponents(role) - 1]. Base::ValueError if the value of role is not Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
| ComponentIterator CDPL::Chem::Reaction::removeComponent | ( | const ComponentIterator & | it | ) |
Removes the reaction component specified by the iterator it.
| it | A mutable iterator that specifies the component to remove. |
| Base::RangeError | if the number of reaction components is zero or it is not in the range [getComponentsBegin(), getComponentsEnd() - 1]. |
|
pure virtual |
Removes all components with the specified role.
| role | A flag specifying the reaction role of the components to remove (see namespace Chem::ReactionRole). |
| Base::ValueError | if the value of role is not Chem::ReactionRole::REACTANT, Chem::ReactionRole::AGENT or Chem::ReactionRole::PRODUCT. |
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Creates a copy of the current reaction state.
Implemented in CDPL::Chem::BasicReaction.
|
pure virtual |
Replaces the current set of reaction components and properties by a copy of the components and properties of the reaction rxn.
| rxn | The reaction to copy. |
Implemented in CDPL::Chem::BasicReaction.
Replaces the current set of reaction components and properties by a copy of the components and properties of the reaction rxn.
Internally calls copy() to perform the actual work.
| rxn | The reaction to copy. |
|
static |
|
protected |