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

Chem::TautomerizationRule implementation that enumerates tautomers obtained by switching the single/double bond pattern of conjugated rings (e.g. the two Kekulé forms of benzene). More...

#include <ConjugatedRingBondPatternSwitching.hpp>

+ Inheritance diagram for CDPL::Chem::ConjugatedRingBondPatternSwitching:

Public Types

typedef std::shared_ptr< ConjugatedRingBondPatternSwitchingSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated ConjugatedRingBondPatternSwitching instances. More...
 
- Public Types inherited from CDPL::Chem::TautomerizationRule
typedef std::shared_ptr< TautomerizationRuleSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated TautomerizationRule instances. More...
 

Public Member Functions

bool setup (MolecularGraph &parent_molgraph)
 Sets the parent molecular graph and identifies its conjugated rings for tautomer enumeration. More...
 
unsigned int getID () const
 Returns the rule's identifier (Chem::TautomerizationType::CONJ_RING_BOND_SWITCH). More...
 
bool generate (Molecule &tautomer)
 Generates the next bond-pattern-switched tautomer. More...
 
TautomerizationRule::SharedPointer clone () const
 Returns a deep copy of this rule instance. More...
 
- Public Member Functions inherited from CDPL::Chem::TautomerizationRule
virtual ~TautomerizationRule ()
 Virtual destructor. More...
 

Detailed Description

Chem::TautomerizationRule implementation that enumerates tautomers obtained by switching the single/double bond pattern of conjugated rings (e.g. the two Kekulé forms of benzene).

Since
1.3

Member Typedef Documentation

◆ SharedPointer

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

Member Function Documentation

◆ setup()

bool CDPL::Chem::ConjugatedRingBondPatternSwitching::setup ( MolecularGraph parent_molgraph)
virtual

Sets the parent molecular graph and identifies its conjugated rings for tautomer enumeration.

Parameters
parent_molgraphThe molecular graph to be tautomerized.
Returns
true if at least one conjugated ring was found, and false otherwise.

Implements CDPL::Chem::TautomerizationRule.

◆ getID()

unsigned int CDPL::Chem::ConjugatedRingBondPatternSwitching::getID ( ) const
virtual

Returns the rule's identifier (Chem::TautomerizationType::CONJ_RING_BOND_SWITCH).

Returns
The rule identifier.

Implements CDPL::Chem::TautomerizationRule.

◆ generate()

bool CDPL::Chem::ConjugatedRingBondPatternSwitching::generate ( Molecule tautomer)
virtual

Generates the next bond-pattern-switched tautomer.

Parameters
tautomerThe tautomer output molecule object.
Returns
true if a tautomer was generated, and false if no more tautomers are available.

Implements CDPL::Chem::TautomerizationRule.

◆ clone()

TautomerizationRule::SharedPointer CDPL::Chem::ConjugatedRingBondPatternSwitching::clone ( ) const
virtual

Returns a deep copy of this rule instance.

Returns
A shared pointer to the cloned rule.

Implements CDPL::Chem::TautomerizationRule.


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