RDCode: RDKit::Dict Class Reference

# 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)
Dict & | operator= (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>
T | getVal (const std::string &what) const
template<typename T>
T | getVal (const char *what, T &res) const
template<typename T>
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>
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.

References _data.

## Member Function Documentation

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

Definition at line 44 of file Dict.h.

References _data.

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::FragCatalogEntry::hasProp(), RDKit::Bond::hasProp(), and RDKit::Atom::hasProp().

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

Definition at line 56 of file Dict.h.

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

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

template<typename T>

T RDKit::Dict::getVal | ( | const std::string & | what | ) | const`[inline]`

Definition at line 97 of file Dict.h.

References getVal().

template<typename T>

T RDKit::Dict::getVal | ( | const char * | what,
|  | T & | res |
| ) |  |  | const`[inline]`

Definition at line 105 of file Dict.h.

References getVal().

template<typename T>

T RDKit::Dict::getVal | ( | const char * | what | ) | const`[inline]`

Definition at line 112 of file Dict.h.

void RDKit::Dict::getVal | ( | const std::string & | what,
|  | std::string & | res |
| ) |  |  | const

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::Atom::clearProp(), RDKit::ROMol::setProp(), RDKit::MolCatalogEntry::setProp(), RDKit::FragCatalogEntry::setProp(), RDKit::Bond::setProp(), RDKit::Atom::setProp(), and setVal().

template<typename T>

void RDKit::Dict::setVal | ( | const char * | what,
|  | T & | val |
| ) |  |  | `[inline]`

Definition at line 140 of file Dict.h.

References setVal().

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

Definition at line 145 of file Dict.h.

References setVal().

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::FragCatalogEntry::clearProp(), RDKit::Bond::clearProp(), RDKit::Atom::clearProp(), and clearVal().

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

Definition at line 169 of file Dict.h.

References clearVal().

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

Clears all keys (and values) from the dictionary.

Definition at line 177 of file Dict.h.

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`

template<typename T>

boost::any RDKit::Dict::toany | ( | T | 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:

- Dict.h