RDKit: RDKit::Dict Class Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
RDKit::Dict Class Reference

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

`#include <Dict.h>`

## Classes
struct | Pair

## Public Types
typedef std::vector< Pair > | DataType

## Public Member Functions
| Dict ()
| Dict (const Dict &other)
| Dict (Dict &&other) noexcept=default
| ~Dict ()
void | update (const Dict &other, bool preserveExisting=false)
Dict & | operator= (const Dict &other)
Dict & | operator= (Dict &&other) noexcept
bool & | getNonPODStatus ()
| Access to the underlying non-POD containment flag This is meant to be used only in bulk updates of _data.
const DataType & | getData () const
| Access to the underlying data.
DataType & | getData ()
bool | hasVal (const std::string &what) const
| Returns whether or not the dictionary contains a particular key.
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
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | 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>
bool | getValIfPresent (const std::string &what, T &res) const
| Potentially gets the value associated with a particular key returns true on success/false on failure.
bool | getValIfPresent (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>
void | setVal (const std::string &what, T &val)
| Sets the value associated with a key.
template<typename T>
void | setPODVal (const std::string &what, T val)
void | setVal (const std::string &what, bool val)
void | setVal (const std::string &what, double val)
void | setVal (const std::string &what, float val)
void | setVal (const std::string &what, int val)
void | setVal (const std::string &what, unsigned int val)
void | setVal (const std::string &what, const char *val)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | clearVal (const std::string &what)
| Clears the value associated with a particular key, removing the key from the dictionary.
void | reset ()
| Clears all keys (and values) from the dictionary.

## Detailed Description

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

The actual storage is done using `RDValue` objects.

Definition at line 36 of file Dict.h.

## Member Typedef Documentation

## ◆ DataType

typedef std::vector<Pair> RDKit::Dict::DataType

Definition at line 50 of file Dict.h.

## Constructor & Destructor Documentation

## ◆ Dict() [1/3]

RDKit::Dict::Dict | ( |  | ) |
| inline

Definition at line 52 of file Dict.h.

Referenced by Dict(), Dict(), operator=(), operator=(), and update().

## ◆ Dict() [2/3]

RDKit::Dict::Dict | ( | const Dict & | other | ) |
| inline

Definition at line 54 of file Dict.h.

References Dict().

## ◆ Dict() [3/3]

RDKit::Dict::Dict | ( | Dict && | other | ) |
| defaultnoexcept

References Dict().

## ◆ ~Dict()

RDKit::Dict::~Dict | ( |  | ) |
| inline

Definition at line 68 of file Dict.h.

References reset().

## Member Function Documentation

## ◆ 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

Definition at line 317 of file Dict.h.

References RDKit::RDValue::cleanup_rdvalue().

## ◆ getData() [1/2]

DataType & RDKit::Dict::getData | ( |  | ) |
| inline

Definition at line 143 of file Dict.h.

## ◆ getData() [2/2]

const DataType & RDKit::Dict::getData | ( |  | ) | const
| inline

Access to the underlying data.

Definition at line 142 of file Dict.h.

## ◆ getNonPODStatus()

bool & RDKit::Dict::getNonPODStatus | ( |  | ) |
| inline

Access to the underlying non-POD containment flag This is meant to be used only in bulk updates of _data.

Definition at line 138 of file Dict.h.

## ◆ getVal() [1/3]

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

References RDKit::from_rdvalue().

## ◆ getVal() [2/3]

void RDKit::Dict::getVal | ( | const std::string & | what,
|  | std::string & | 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 202 of file Dict.h.

References RDKit::rdvalue_tostring().

## ◆ getVal() [3/3]

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

References getVal().

Referenced by RDKit::Dict::getVal< std::string >(), and getVal().

## ◆ getValIfPresent() [1/2]

bool RDKit::Dict::getValIfPresent | ( | const std::string & | what,
|  | std::string & | 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 238 of file Dict.h.

References RDKit::rdvalue_tostring().

## ◆ getValIfPresent() [2/2]

template<typename T>

bool RDKit::Dict::getValIfPresent | ( | const std::string & | what,
|  | T & | res ) const
| inline

Potentially gets the value associated with a particular key returns true on success/false on failure.

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

References RDKit::from_rdvalue().

## ◆ hasVal()

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

Returns whether or not the dictionary contains a particular key.

Definition at line 149 of file Dict.h.

## ◆ keys()

STR_VECT RDKit::Dict::keys | ( |  | ) | const
| inline

Returns the set of keys in the dictionary.

Returns
  a `STR_VECT`

Definition at line 163 of file Dict.h.

## ◆ operator=() [1/2]

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

Definition at line 100 of file Dict.h.

References RDKit::copy_rdvalue(), Dict(), and reset().

## ◆ operator=() [2/2]

Dict & RDKit::Dict::operator= | ( | Dict && | other | ) |
| inlinenoexcept

Definition at line 122 of file Dict.h.

References Dict(), and reset().

## ◆ reset()

void RDKit::Dict::reset | ( |  | ) |
| inline

Clears all keys (and values) from the dictionary.

Definition at line 332 of file Dict.h.

References RDKit::RDValue::cleanup_rdvalue().

Referenced by operator=(), operator=(), and ~Dict().

## ◆ setPODVal()

template<typename T>

void RDKit::Dict::setPODVal | ( | const std::string & | what,
|  | T | val )
| inline

Definition at line 277 of file Dict.h.

References RDKit::RDValue::cleanup_rdvalue().

Referenced by setVal(), setVal(), setVal(), setVal(), and setVal().

## ◆ setVal() [1/7]

void RDKit::Dict::setVal | ( | const std::string & | what,
|  | bool | val )
| inline

Definition at line 291 of file Dict.h.

References setPODVal().

## ◆ setVal() [2/7]

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

References setVal().

## ◆ setVal() [3/7]

void RDKit::Dict::setVal | ( | const std::string & | what,
|  | double | val )
| inline

Definition at line 293 of file Dict.h.

References setPODVal().

## ◆ setVal() [4/7]

void RDKit::Dict::setVal | ( | const std::string & | what,
|  | float | val )
| inline

Definition at line 295 of file Dict.h.

References setPODVal().

## ◆ setVal() [5/7]

void RDKit::Dict::setVal | ( | const std::string & | what,
|  | int | val )
| inline

Definition at line 297 of file Dict.h.

References setPODVal().

## ◆ setVal() [6/7]

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

References RDKit::RDValue::cleanup_rdvalue().

Referenced by setVal().

## ◆ setVal() [7/7]

void RDKit::Dict::setVal | ( | const std::string & | what,
|  | unsigned int | val )
| inline

Definition at line 299 of file Dict.h.

References setPODVal().

## ◆ update()

void RDKit::Dict::update | ( | const Dict & | other,
|  | bool | preserveExisting = false )
| inline

Definition at line 72 of file Dict.h.

References RDKit::copy_rdvalue(), Dict(), and RDKit::Dict::Pair::val.

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

- Dict.h