RDKit::Dict Class Reference

The Dict class can be used to store objects of arbitrary type keyed by strings. More...

#include <Dict.h>

List of all members.

Public Types

typedef std::map< const
std::string, boost::any > 
DataType

Public Member Functions

 Dict ()
 Dict (const Dict &other)
Dictoperator= (const Dict &other)
bool hasVal (const char *what) const
 Returns whether or not the dictionary contains a particular key.
bool hasVal (const std::string &what) const
STR_VECT keys () const
 Returns the set of keys in the dictionary.
template<typename T >
void getVal (const std::string &what, T &res) const
 Gets the value associated with a particular key.
template<typename T >
getVal (const std::string &what) const
template<typename T >
getVal (const char *what, T &res) const
template<typename T >
getVal (const char *what) const
void getVal (const std::string &what, std::string &res) const
template<typename T >
void setVal (const std::string &what, T &val)
 Sets the value associated with a key.
template<typename T >
void setVal (const char *what, T &val)
void setVal (const std::string &what, const char *val)
void clearVal (const std::string &what)
 Clears the value associated with a particular key, removing the key from the dictionary.
void clearVal (const char *what)
void reset ()
 Clears all keys (and values) from the dictionary.
template<typename T >
fromany (const boost::any &arg) const
 Converts a boost::any to type T.
template<typename T >
boost::any toany (T arg) const
 Converts an instance of type T to boost::any.

Friends

void force_types ()
 this function is used solely to force the instantiation of particular types of the Dict.toAny() and Dict.fromAny() methods in order to avoid link errors.

Detailed Description

The Dict class can be used to store objects of arbitrary type keyed by strings.

The actual storage is done using boost::any objects.

Definition at line 29 of file Dict.h.


Member Typedef Documentation

typedef std::map<const std::string, boost::any> RDKit::Dict::DataType

Definition at line 35 of file Dict.h.


Constructor & Destructor Documentation

RDKit::Dict::Dict (  )  [inline]

Definition at line 36 of file Dict.h.

RDKit::Dict::Dict ( const Dict other  )  [inline]

Definition at line 40 of file Dict.h.


Member Function Documentation

void RDKit::Dict::clearVal ( const char *  what  )  [inline]

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 169 of file Dict.h.

References clearVal().

void RDKit::Dict::clearVal ( const std::string &  what  )  [inline]

Clears the value associated with a particular key, removing the key from the dictionary.

Parameters:
what the key to clear

Notes:

  • If the dictionary does not contain the key what, a KeyErrorException will be thrown.

Definition at line 163 of file Dict.h.

References hasVal().

Referenced by RDKit::Bond::clearComputedProps(), RDKit::Atom::clearComputedProps(), RDKit::ROMol::clearProp(), RDKit::MolCatalogEntry::clearProp(), RDKit::Bond::clearProp(), and clearVal().

template<typename T >
T RDKit::Dict::fromany ( const boost::any &  arg  )  const [inline]

Converts a boost::any to type T.

Parameters:
arg a boost::any reference
Returns:
the converted object of type T
void RDKit::Dict::getVal ( const std::string &  what,
std::string &  res 
) const

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

template<typename T >
T RDKit::Dict::getVal ( const char *  what  )  const [inline]

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 112 of file Dict.h.

template<typename T >
T RDKit::Dict::getVal ( const char *  what,
T &  res 
) const [inline]

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 105 of file Dict.h.

References getVal().

template<typename T >
T RDKit::Dict::getVal ( const std::string &  what  )  const [inline]

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 97 of file Dict.h.

References getVal().

template<typename T >
void RDKit::Dict::getVal ( const std::string &  what,
T &  res 
) const [inline]

Gets the value associated with a particular key.

Parameters:
what the key to lookup
res a reference used to return the result

Notes:

  • If res is a std::string, every effort will be made to convert the specified element to a string using the boost::lexical_cast machinery.
  • If the dictionary does not contain the key what, a KeyErrorException will be thrown.

Definition at line 88 of file Dict.h.

Referenced by RDKit::ROMol::getProp(), RDKit::MolCatalogEntry::getProp(), RDKit::FragCatalogEntry::getProp(), RDKit::Bond::getProp(), RDKit::Atom::getProp(), and getVal().

bool RDKit::Dict::hasVal ( const std::string &  what  )  const [inline]

Definition at line 56 of file Dict.h.

bool RDKit::Dict::hasVal ( const char *  what  )  const [inline]

Returns whether or not the dictionary contains a particular key.

Definition at line 52 of file Dict.h.

Referenced by clearVal(), RDKit::ROMol::hasProp(), RDKit::MolCatalogEntry::hasProp(), RDKit::Bond::hasProp(), and RDKit::Atom::hasProp().

STR_VECT RDKit::Dict::keys (  )  const [inline]

Returns the set of keys in the dictionary.

Returns:
a STR_VECT

Definition at line 65 of file Dict.h.

Referenced by RDKit::ROMol::getPropList(), RDKit::Bond::getPropList(), and RDKit::Atom::getPropList().

Dict& RDKit::Dict::operator= ( const Dict other  )  [inline]

Definition at line 44 of file Dict.h.

void RDKit::Dict::reset (  )  [inline]

Clears all keys (and values) from the dictionary.

Definition at line 177 of file Dict.h.

void RDKit::Dict::setVal ( const std::string &  what,
const char *  val 
) [inline]

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 145 of file Dict.h.

References setVal().

template<typename T >
void RDKit::Dict::setVal ( const char *  what,
T &  val 
) [inline]

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 140 of file Dict.h.

References setVal().

template<typename T >
void RDKit::Dict::setVal ( const std::string &  what,
T &  val 
) [inline]

Sets the value associated with a key.

Parameters:
what the key to set
val the value to store

Notes:

  • If val is a const char *, it will be converted to a std::string for storage.
  • If the dictionary already contains the key what, the value will be replaced.

Definition at line 134 of file Dict.h.

References toany().

Referenced by RDKit::Bond::clearComputedProps(), RDKit::Atom::clearComputedProps(), RDKit::ROMol::clearProp(), RDKit::Bond::clearProp(), RDKit::ROMol::setProp(), RDKit::MolCatalogEntry::setProp(), RDKit::FragCatalogEntry::setProp(), RDKit::Bond::setProp(), RDKit::Atom::setProp(), and setVal().

template<typename T >
boost::any RDKit::Dict::toany ( arg  )  const [inline]

Converts an instance of type T to boost::any.

Parameters:
arg the object to be converted
Returns:
a boost::any instance

Referenced by setVal().


Friends And Related Function Documentation

void force_types (  )  [friend]

this function is used solely to force the instantiation of particular types of the Dict.toAny() and Dict.fromAny() methods in order to avoid link errors.


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