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 strategies 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 121 of file EnumerationStrategyBase.h.

## Constructor & Destructor Documentation

## EnumerationStrategyBase()

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

inline

Definition at line 132 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::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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 183 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::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, and RDKit::CartesianProductStrategy.

## getPosition()

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

inline

The current position in the enumeration.

Definition at line 178 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. This calls the derived class's initializeStrategy method which must be implemented

Definition at line 143 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::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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 198 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::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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 190 of file EnumerationStrategyBase.h.

## type()

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

inline virtual

Reimplemented in RDKit::RandomSampleAllBBsStrategy, RDKit::RandomSampleStrategy, RDKit::EvenSamplePairsStrategy, 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 206 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 130 of file EnumerationStrategyBase.h.

## m_numPermutations

boost::uint64_t RDKit::EnumerationStrategyBase::m_numPermutations {}

protected

Definition at line 127 of file EnumerationStrategyBase.h.

## m_permutation

EnumerationTypes::RGROUPS RDKit::EnumerationStrategyBase::m_permutation

protected

Definition at line 123 of file EnumerationStrategyBase.h.

## m_permutationSizes

EnumerationTypes::RGROUPS RDKit::EnumerationStrategyBase::m_permutationSizes

protected

Definition at line 125 of file EnumerationStrategyBase.h.

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

- EnumerationStrategyBase.h