29 #ifndef CDPL_CHEM_TAUTOMERIZATIONRULE_HPP
30 #define CDPL_CHEM_TAUTOMERIZATIONRULE_HPP
74 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 data structures that represent chemical structures as molecular graphs.
Definition: MolecularGraph.hpp:60
Abstract base class representing a mutable molecular graph that owns and manages its atoms and bonds.
Definition: Molecule.hpp:53
Abstract base class for tautomerization rule implementations employed by the Chem::TautomerGenerator ...
Definition: TautomerizationRule.hpp:50
virtual ~TautomerizationRule()
Virtual destructor.
Definition: TautomerizationRule.hpp:61
std::shared_ptr< TautomerizationRule > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated TautomerizationRule instances.
Definition: TautomerizationRule.hpp:56
virtual unsigned int getID() const =0
Returns the rule identifier.
virtual bool generate(Molecule &tautomer)=0
Generates the next tautomer of the parent molecular graph and stores it in molecule.
virtual bool setup(MolecularGraph &parent_molgraph)=0
Performs rule-specific setup work for the given molecular graph that shall be tautomerized.
virtual SharedPointer clone() const =0
Returns a deep copy of this rule instance.
The namespace of the Chemical Data Processing Library.