Loading...
Searching...
No Matches
RDCatalog::HierarchCatalog< entryType, paramType, orderType > Class Template Reference

A Catalog with a hierarchical structure. More...

`#include <Catalog.h>`

Inheritance diagram for RDCatalog::HierarchCatalog< entryType, paramType, orderType >:

## Classes

struct | vertex_entry_t
| used by the BGL to set up the node properties in our graph More...

## Public Types

typedef boost::property< vertex_entry_t, entryType * > | EntryProperty
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, EntryProperty > | CatalogGraph
| the type of the graph itself:
typedef boost::graph_traits< CatalogGraph > | CAT_GRAPH_TRAITS
typedef CAT_GRAPH_TRAITS::vertex_iterator | VER_ITER
typedef std::pair< VER_ITER, VER_ITER > | ENT_ITER_PAIR
typedef CAT_GRAPH_TRAITS::adjacency_iterator | DOWN_ENT_ITER
typedef std::pair< DOWN_ENT_ITER, DOWN_ENT_ITER > | DOWN_ENT_ITER_PAIR
Public Types inherited from RDCatalog::Catalog< entryType, paramType >
typedef entryType | entryType_t
typedef paramType | paramType_t

## Public Member Functions

| HierarchCatalog ()
| HierarchCatalog (const paramType *params)
| Construct by making a copy of the input `params` object.
| HierarchCatalog (const std::string &pickle)
| Construct from a `pickle` (a serialized form of the HierarchCatalog).
| ~HierarchCatalog () override
void | toStream (std::ostream &ss) const
| serializes this object to a stream
std::string | Serialize () const override
| serializes this object and returns the resulting `pickle`
void | initFromStream (std::istream &ss)
| fills the contents of this object from a stream containing a `pickle`
unsigned int | getNumEntries () const override
| returns the number of entries
void | initFromString (const std::string &text)
| fills the contents of this object from a string containing a `pickle`
unsigned int | addEntry (entryType *entry, bool updateFPLength=true) override
| add a new entry to the catalog
void | addEdge (unsigned int id1, unsigned int id2)
| adds an edge between two entries in the catalog
const entryType * | getEntryWithIdx (unsigned int idx) const override
| returns a pointer to our entry with a particular index
const entryType * | getEntryWithBitId (unsigned int idx) const
| returns a pointer to our entry with a particular bit ID
int | getIdOfEntryWithBitId (unsigned int idx) const
| returns the index of the entry with a particular bit ID
RDKit::INT_VECT | getDownEntryList (unsigned int idx) const
| returns a list of the indices of entries below the one passed in
const RDKit::INT_VECT & | getEntriesOfOrder (orderType ord)
| returns a list of the indices that have a particular order
const RDKit::INT_VECT & | getEntriesOfOrder (orderType ord) const
| returns a list of the indices that have a particular order
Public Member Functions inherited from RDCatalog::Catalog< entryType, paramType >
| Catalog ()
virtual | ~Catalog ()
unsigned int | getFPLength () const
| returns the length of our fingerprint
void | setFPLength (unsigned int val)
| sets our fingerprint length
virtual void | setCatalogParams (const paramType *params)
| sets our parameters by copying the `params` argument
const paramType * | getCatalogParams () const
| returns a pointer to our parameters

## Additional Inherited Members

Protected Attributes inherited from RDCatalog::Catalog< entryType, paramType >
unsigned int | d_fpLength {0}
| the length of our fingerprint
paramType * | dp_cParams
| our params object

## Detailed Description

template<class entryType, class paramType, class orderType>
class RDCatalog::HierarchCatalog< entryType, paramType, orderType >

A Catalog with a hierarchical structure.

The entries of a HierarchCatalog are arranged in a directed graph

The difference between Indices and Bit Ids

A HierarchCatalog may contain more entries than the user is actually interested in. For example a HierarchCatalog constructed to contain orders 5 through 8 may well contain information about orders 1-5, in order to facilitate some search optimizations.

- Bit Ids refer to the "interesting" bits. So, in the above example, Bit Id `0` will be the first entry with order 5.
- Indices refer to the underlying structure of the catalog. So, in the above example, the entry with index `0` will be the first entry with order 1.

Definition at line 135 of file Catalog.h.

## Member Typedef Documentation

## CAT_GRAPH_TRAITS

template<class entryType, class paramType, class orderType>

typedef boost::graph_traits<CatalogGraph> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::CAT_GRAPH_TRAITS

Definition at line 155 of file Catalog.h.

## CatalogGraph

template<class entryType, class paramType, class orderType>

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, EntryProperty> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::CatalogGraph

the type of the graph itself:

Definition at line 153 of file Catalog.h.

## DOWN_ENT_ITER

template<class entryType, class paramType, class orderType>

typedef CAT_GRAPH_TRAITS::adjacency_iterator RDCatalog::HierarchCatalog< entryType, paramType, orderType >::DOWN_ENT_ITER

Definition at line 158 of file Catalog.h.

## DOWN_ENT_ITER_PAIR

template<class entryType, class paramType, class orderType>

typedef std::pair<DOWN_ENT_ITER, DOWN_ENT_ITER> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::DOWN_ENT_ITER_PAIR

Definition at line 159 of file Catalog.h.

## ENT_ITER_PAIR

template<class entryType, class paramType, class orderType>

typedef std::pair<VER_ITER, VER_ITER> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::ENT_ITER_PAIR

Definition at line 157 of file Catalog.h.

## EntryProperty

template<class entryType, class paramType, class orderType>

typedef boost::property<vertex_entry_t, entryType *> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::EntryProperty

Definition at line 144 of file Catalog.h.

## VER_ITER

template<class entryType, class paramType, class orderType>

typedef CAT_GRAPH_TRAITS::vertex_iterator RDCatalog::HierarchCatalog< entryType, paramType, orderType >::VER_ITER

Definition at line 156 of file Catalog.h.

## Constructor & Destructor Documentation

## HierarchCatalog() [1/3]

template<class entryType, class paramType, class orderType>

RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog | ( |  | ) |

inline

Definition at line 162 of file Catalog.h.

## HierarchCatalog() [2/3]

template<class entryType, class paramType, class orderType>

RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog | ( | const paramType * | params | ) |

inline

Construct by making a copy of the input `params` object.

Definition at line 166 of file Catalog.h.

## HierarchCatalog() [3/3]

template<class entryType, class paramType, class orderType>

RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog | ( | const std::string & | pickle | ) |

inline

Construct from a `pickle` (a serialized form of the HierarchCatalog).

Definition at line 172 of file Catalog.h.

## ~HierarchCatalog()

template<class entryType, class paramType, class orderType>

RDCatalog::HierarchCatalog< entryType, paramType, orderType >::~HierarchCatalog | ( |  | ) |

inline override

Definition at line 175 of file Catalog.h.

## Member Function Documentation

## addEdge()

template<class entryType, class paramType, class orderType>

void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEdge | ( | unsigned int | id1,
|  | unsigned int | id2 )

inline

adds an edge between two entries in the catalog

Since we are using a bidirectional graph - the order in which the ids are supplied here makes a difference

Parameters

  id1 | index of the edge's beginning
  id2 | index of the edge's end

Definition at line 338 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::initFromStream().

## addEntry()

template<class entryType, class paramType, class orderType>

unsigned int RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEntry | ( | entryType * | entry,
|  | bool | updateFPLength = true )

inline override virtual

add a new entry to the catalog

Parameters

  entry | the entry to be added
  updateFPLength | (optional) if this is true, our internal fingerprint length will also be updated.

Implements RDCatalog::Catalog< entryType, paramType >.

Definition at line 306 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::initFromStream().

## getDownEntryList()

template<class entryType, class paramType, class orderType>

RDKit::INT_VECT RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getDownEntryList | ( | unsigned int | idx | ) | const

inline

returns a list of the indices of entries below the one passed in

Definition at line 401 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::toStream().

## getEntriesOfOrder() [1/2]

template<class entryType, class paramType, class orderType>

const RDKit::INT_VECT & RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntriesOfOrder | ( | orderType | ord | ) |

inline

returns a list of the indices that have a particular order

Definition at line 415 of file Catalog.h.

## getEntriesOfOrder() [2/2]

template<class entryType, class paramType, class orderType>

const RDKit::INT_VECT & RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntriesOfOrder | ( | orderType | ord | ) | const

inline

returns a list of the indices that have a particular order

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 424 of file Catalog.h.

## getEntryWithBitId()

template<class entryType, class paramType, class orderType>

const entryType * RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithBitId | ( | unsigned int | idx | ) | const

inline

returns a pointer to our entry with a particular bit ID

Definition at line 367 of file Catalog.h.

## getEntryWithIdx()

template<class entryType, class paramType, class orderType>

const entryType * RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithIdx | ( | unsigned int | idx | ) | const

inline override virtual

returns a pointer to our entry with a particular index

Implements RDCatalog::Catalog< entryType, paramType >.

Definition at line 357 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::toStream().

## getIdOfEntryWithBitId()

template<class entryType, class paramType, class orderType>

int RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getIdOfEntryWithBitId | ( | unsigned int | idx | ) | const

inline

returns the index of the entry with a particular bit ID

Definition at line 384 of file Catalog.h.

## getNumEntries()

template<class entryType, class paramType, class orderType>

unsigned int RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries | ( |  | ) | const

inline override virtual

returns the number of entries

Implements RDCatalog::Catalog< entryType, paramType >.

Definition at line 282 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::addEdge(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getEntryWithBitId(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getEntryWithIdx(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getIdOfEntryWithBitId(), and RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::toStream().

## initFromStream()

template<class entryType, class paramType, class orderType>

void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream | ( | std::istream & | ss | ) |

inline

fills the contents of this object from a stream containing a `pickle`

Definition at line 234 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::initFromString().

## initFromString()

template<class entryType, class paramType, class orderType>

void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromString | ( | const std::string & | text | ) |

inline

fills the contents of this object from a string containing a `pickle`

Definition at line 288 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::HierarchCatalog().

## Serialize()

template<class entryType, class paramType, class orderType>

std::string RDCatalog::HierarchCatalog< entryType, paramType, orderType >::Serialize | ( |  | ) | const

inline override virtual

serializes this object and returns the resulting `pickle`

Implements RDCatalog::Catalog< entryType, paramType >.

Definition at line 225 of file Catalog.h.

## toStream()

template<class entryType, class paramType, class orderType>

void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream | ( | std::ostream & | ss | ) | const

inline

serializes this object to a stream

Definition at line 179 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::Serialize().

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

- Catalog.h