29 #ifndef CDPL_CHEM_AROMATICSUBSTRUCTURE_HPP
30 #define CDPL_CHEM_AROMATICSUBSTRUCTURE_HPP
97 bool containsSubRing(
const RingDescriptor&)
const;
101 const RingDescriptor* subRing1;
102 const RingDescriptor* subRing2;
108 typedef std::vector<RingDescriptor::SharedPointer> RingDescriptorList;
109 typedef std::vector<std::pair<RingDescriptorList, std::size_t> > RingDescriptorListTable;
110 typedef std::set<Util::BitSet> BondMaskSet;
114 void findAromaticSubstructure();
115 bool findAromaticRings(RingDescriptorListTable::value_type&);
118 void fuseRings(
const RingDescriptor&,
const RingDescriptor&, RingDescriptorList&);
120 bool isAromatic(
const RingDescriptor::SharedPointer&);
126 RingDescriptorListTable ringDescrListTable;
127 BondMaskSet uniqueRingSet;
Definition of the type CDPL::Util::BitSet.
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.
Definition of the class CDPL::Chem::Fragment.
Implements the perception of aromatic atoms and bonds in a molecular graph.
Definition: AromaticSubstructure.hpp:52
void perceive(const MolecularGraph &molgraph)
Replaces the currently stored atoms and bonds by the set of aromatic atoms and bonds of the molecular...
AromaticSubstructure()
Constructs an empty AromaticSubstructure instance.
Definition: AromaticSubstructure.hpp:63
AromaticSubstructure(const MolecularGraph &molgraph)
Construct a AromaticSubstructure instance that consists of the aromatic atoms and bonds of the molecu...
std::shared_ptr< AromaticSubstructure > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated AromaticSubstructure instances.
Definition: AromaticSubstructure.hpp:58
AromaticSubstructure & operator=(const AromaticSubstructure &)=delete
AromaticSubstructure(const AromaticSubstructure &)=delete
Fragment.
Definition: Fragment.hpp:52
std::shared_ptr< Fragment > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated Fragment instances.
Definition: Fragment.hpp:61
MolecularGraph.
Definition: MolecularGraph.hpp:52
CDPL_CHEM_API bool isAromatic(const Fragment &ring, const MolecularGraph &molgraph, const Util::BitSet &arom_bond_mask)
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.