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 >:
RDCatalog::Catalog< entryType, paramType >

List of all members.

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 Member Functions

 HierarchCatalog ()
 HierarchCatalog (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 ()
void toStream (std::ostream &ss) const
 serializes this object to a stream
std::string Serialize () const
 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
 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)
 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
 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_VECTgetEntriesOfOrder (orderType ord)
 returns a list of the indices that have a particular order
const RDKit::INT_VECTgetEntriesOfOrder (orderType ord) const
 returns a list of the indices that have a particular order

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.

Definition at line 131 of file Catalog.h.


Member Typedef Documentation

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

Definition at line 149 of file Catalog.h.

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 147 of file Catalog.h.

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

Definition at line 152 of file Catalog.h.

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 153 of file Catalog.h.

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 151 of file Catalog.h.

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

Definition at line 140 of file Catalog.h.

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

Definition at line 150 of file Catalog.h.


Constructor & Destructor Documentation

template<class entryType , class paramType , class orderType >
RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog (  )  [inline]
template<class entryType , class paramType , class orderType >
RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog ( paramType *  params  )  [inline]

Construct by making a copy of the input params object.

Definition at line 156 of file Catalog.h.

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).

template<class entryType , class paramType , class orderType >
RDCatalog::HierarchCatalog< entryType, paramType, orderType >::~HierarchCatalog (  )  [inline]

Definition at line 171 of file Catalog.h.


Member Function Documentation

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 332 of file Catalog.h.

References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries().

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().

template<class entryType , class paramType , class orderType >
unsigned int RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEntry ( entryType *  entry,
bool  updateFPLength = true 
) [inline, 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 301 of file Catalog.h.

References RDCatalog::Catalog< entryType, paramType >::getFPLength(), and RDCatalog::Catalog< entryType, paramType >::setFPLength().

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().

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 396 of file Catalog.h.

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().

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 419 of file Catalog.h.

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 410 of file Catalog.h.

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 362 of file Catalog.h.

References RDCatalog::Catalog< entryType, paramType >::getFPLength(), and RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries().

template<class entryType , class paramType , class orderType >
const entryType* RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithIdx ( unsigned int  idx  )  const [inline, virtual]
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 379 of file Catalog.h.

References RDCatalog::Catalog< entryType, paramType >::getFPLength(), and RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries().

template<class entryType , class paramType , class orderType >
unsigned int RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries (  )  const [inline, virtual]
template<class entryType , class paramType , class orderType >
void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream ( std::istream &  ss  )  [inline]
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 284 of file Catalog.h.

References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().

template<class entryType , class paramType , class orderType >
std::string RDCatalog::HierarchCatalog< entryType, paramType, orderType >::Serialize (  )  const [inline, virtual]

serializes this object and returns the resulting pickle

Implements RDCatalog::Catalog< entryType, paramType >.

Definition at line 223 of file Catalog.h.

References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().

template<class entryType , class paramType , class orderType >
void RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream ( std::ostream &  ss  )  const [inline]

The documentation for this class was generated from the following file:
Generated on Wed Jun 30 07:07:32 2010 for RDCode by  doxygen 1.6.3