RDKit::EnumerationStrategyBase Class Referenceabstract

`#include <EnumerationStrategyBase.h>`

Inheritance diagram for RDKit::EnumerationStrategyBase:

## Public Member Functions

| EnumerationStrategyBase ()
virtual | ~EnumerationStrategyBase ()
virtual const char * | type () const
void | initialize (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)
virtual void | initializeStrategy (const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)=0
virtual | operator bool () const =0
virtual const EnumerationTypes::RGROUPS & | next ()=0
| The current permutation {r1, r2, ...}. More...
virtual EnumerationStrategyBase * | copy () const =0
| copy the enumeration strategy complete with current state More...
const EnumerationTypes::RGROUPS & | getPosition () const
| The current position in the enumeration. More...
boost::uint64_t | getNumPermutations () const
virtual boost::uint64_t | getPermutationIdx () const =0
| Returns how many permutations have been processed by this strategy. More...
bool | skip (boost::uint64_t skipCount)

## Static Public Attributes

static const boost::uint64_t | EnumerationOverflow

## Protected Member Functions

void | internalInitialize (const EnumerationTypes::RGROUPS &rgroups)

## Protected Attributes

EnumerationTypes::RGROUPS | m_permutation
EnumerationTypes::RGROUPS | m_permutationSizes
boost::uint64_t | m_numPermutations

## Friends

class | boost::serialization::access

## Detailed Description

Base Class for enumeration strageties Usage: EnumerationStrategyBase must be initialized with both a reaction and the building block (molecule) vector to be sampled.

    //!  EnumerationStrategyBase &eb = ...
    //!   if(eb) { // can we get another entry
    //!    const std::vector<int> &v = eb.next();
    //!    v[0] // RGroup 0 position
    //!    v[1] // RGroup 1 position...
    //!   }
    //!

Definition at line 120 of file EnumerationStrategyBase.h.

## Constructor & Destructor Documentation

## EnumerationStrategyBase()

RDKit::EnumerationStrategyBase::EnumerationStrategyBase | ( |  | ) |

inline

Definition at line 131 of file EnumerationStrategyBase.h.

## ~EnumerationStrategyBase()

virtual RDKit::EnumerationStrategyBase::~EnumerationStrategyBase | ( |  | ) |

inline virtual

Definition at line 134 of file EnumerationStrategyBase.h.

## Member Function Documentation

## copy()

virtual EnumerationStrategyBase* RDKit::EnumerationStrategyBase::copy | ( |  | ) | const

pure virtual

copy the enumeration strategy complete with current state

Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

## getNumPermutations()

boost::uint64_t RDKit::EnumerationStrategyBase::getNumPermutations | ( |  | ) | const

inline

a result of EnumerationOverflow indicates that the number of permutations is not computable with the current rdlonglong size.

Definition at line 176 of file EnumerationStrategyBase.h.

## getPermutationIdx()

virtual boost::uint64_t RDKit::EnumerationStrategyBase::getPermutationIdx | ( |  | ) | const

pure virtual

Returns how many permutations have been processed by this strategy.

Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

## getPosition()

const EnumerationTypes::RGROUPS& RDKit::EnumerationStrategyBase::getPosition | ( |  | ) | const

inline

The current position in the enumeration.

Definition at line 171 of file EnumerationStrategyBase.h.

## initialize()

void RDKit::EnumerationStrategyBase::initialize | ( | const ChemicalReaction & | reaction,
|  | const EnumerationTypes::BBS & | building_blocks
| ) |  |

inline

Initialize the enumerator based on the reaction and the supplied building blocks This is the standard API point.

Definition at line 141 of file EnumerationStrategyBase.h.

References RDKit::computeNumProducts(), and RDKit::getSizesFromBBs().

## initializeStrategy()

virtual void RDKit::EnumerationStrategyBase::initializeStrategy | ( | const ChemicalReaction & | reaction,
|  | const EnumerationTypes::BBS & | building_blocks
| ) |  |

pure virtual

Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

## internalInitialize()

void RDKit::EnumerationStrategyBase::internalInitialize | ( | const EnumerationTypes::RGROUPS & | rgroups | ) |

inline protected

Initialize the internal data structures i.e. RGROUPS = {10,40,50};

Definition at line 191 of file EnumerationStrategyBase.h.

References RDKit::computeNumProducts().

## next()

virtual const EnumerationTypes::RGROUPS& RDKit::EnumerationStrategyBase::next | ( |  | ) |

pure virtual

The current permutation {r1, r2, ...}.

Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

## operator bool()

virtual RDKit::EnumerationStrategyBase::operator bool | ( |  | ) | const

pure virtual

returns true if there are more permutations left random enumerators may always return true...

Implemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

## skip()

bool RDKit::EnumerationStrategyBase::skip | ( | boost::uint64_t | skipCount | ) |

inline

Skip the specified number of permutations (useful for resetting state to a known position)

Definition at line 183 of file EnumerationStrategyBase.h.

## type()

virtual const char* RDKit::EnumerationStrategyBase::type | ( |  | ) | const

inline virtual

Reimplemented in RDKit::EvenSamplePairsStrategy, RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, and RDKit::CartesianProductStrategy.

Definition at line 136 of file EnumerationStrategyBase.h.

## Friends And Related Function Documentation

## boost::serialization::access

friend class boost::serialization::access

friend

Definition at line 199 of file EnumerationStrategyBase.h.

## Member Data Documentation

## EnumerationOverflow

const boost::uint64_t RDKit::EnumerationStrategyBase::EnumerationOverflow

static

Initial value:
=
static_cast<boost::uint64_t>(-1)

Definition at line 129 of file EnumerationStrategyBase.h.

## m_numPermutations

boost::uint64_t RDKit::EnumerationStrategyBase::m_numPermutations

protected

Definition at line 126 of file EnumerationStrategyBase.h.

## m_permutation

EnumerationTypes::RGROUPS RDKit::EnumerationStrategyBase::m_permutation

protected

Definition at line 122 of file EnumerationStrategyBase.h.

## m_permutationSizes

EnumerationTypes::RGROUPS RDKit::EnumerationStrategyBase::m_permutationSizes

protected

Definition at line 124 of file EnumerationStrategyBase.h.

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

- EnumerationStrategyBase.h