29 #ifndef CDPL_CHEM_TAUTOMERIZATIONRULE_HPP
30 #define CDPL_CHEM_TAUTOMERIZATIONRULE_HPP
72 virtual unsigned int getID()
const = 0;
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 for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Abstract base class representing a mutable molecular graph that owns its atoms and bonds.
Definition: Molecule.hpp:53
Abstract base class for all tautomerization rule implementations used by the Chem::TautomerGenerator.
Definition: TautomerizationRule.hpp:50
virtual ~TautomerizationRule()
Virtual destructor.
Definition: TautomerizationRule.hpp:59
std::shared_ptr< TautomerizationRule > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated TautomerizationRule instances.
Definition: TautomerizationRule.hpp:54
virtual unsigned int getID() const =0
Returns the rule's identifier (see Chem::TautomerizationType).
virtual bool generate(Molecule &tautomer)=0
Generates the next tautomer.
virtual bool setup(MolecularGraph &parent_molgraph)=0
Sets the parent molecular graph for which the rule is to enumerate tautomers.
virtual SharedPointer clone() const =0
Returns a deep copy of this rule instance.
The namespace of the Chemical Data Processing Library.