Loading...
Searching...
No Matches
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
using | const_iterator = DataType::const_iterator

## 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
std::size_t | size () const
| Returns the number of entries in the dictionary.
bool | empty () const
| Returns whether the dictionary is empty.
const_iterator | begin () const
const_iterator | end () const
void | insert (Pair &&pair)
| Appends a populated Pair to the dictionary.
void | extend (std::vector< Pair > &&pairs)
| Bulk-appends a vector of Pairs, moving them into the dictionary.
const RDValue & | getRDValue (const std::string_view what) const
| Returns a const reference to the RDValue for a key. Throws KeyErrorException if the key is not found.
bool | hasVal (const std::string_view 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_view what, T &res) const
| Gets the value associated with a particular key.
template<typename T>
T | getVal (const std::string_view 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_view 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_view 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_view 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_view what, T &val)
| Sets the value associated with a key.
template<typename T>
void | setPODVal (const std::string_view what, T val)
void | setVal (const std::string_view what, bool val)
void | setVal (const std::string_view what, double val)
void | setVal (const std::string_view what, float val)
void | setVal (const std::string_view what, int val)
void | setVal (const std::string_view what, unsigned int val)
void | setVal (const std::string_view 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_view 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

## const_iterator

using RDKit::Dict::const_iterator = DataType::const_iterator

Definition at line 144 of file Dict.h.

## DataType

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

Definition at line 52 of file Dict.h.

## Constructor & Destructor Documentation

## Dict() [1/3]

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

inline

Definition at line 54 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 56 of file Dict.h.

References Dict().

## Dict() [3/3]

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

default noexcept

References Dict().

## ~Dict()

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

inline

Definition at line 70 of file Dict.h.

References reset().

## Member Function Documentation

## begin()

const_iterator RDKit::Dict::begin | ( |  | ) | const

inline

Definition at line 145 of file Dict.h.

## clearVal()

void RDKit::Dict::clearVal | ( | const std::string_view | 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 377 of file Dict.h.

References RDKit::RDValue::cleanup_rdvalue().

## empty()

bool RDKit::Dict::empty | ( |  | ) | const

inline

Returns whether the dictionary is empty.

Definition at line 142 of file Dict.h.

## end()

const_iterator RDKit::Dict::end | ( |  | ) | const

inline

Definition at line 146 of file Dict.h.

## extend()

void RDKit::Dict::extend | ( | std::vector< Pair > && | pairs | ) |

inline

Bulk-appends a vector of Pairs, moving them into the dictionary.

Definition at line 155 of file Dict.h.

## getRDValue()

const RDValue & RDKit::Dict::getRDValue | ( | const std::string_view | what | ) | const

inline

Returns a const reference to the RDValue for a key. Throws KeyErrorException if the key is not found.

Definition at line 165 of file Dict.h.

## getVal() [1/3]

template<typename T>

T RDKit::Dict::getVal | ( | const std::string_view | 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 221 of file Dict.h.

References RDKit::from_rdvalue().

## getVal() [2/3]

void RDKit::Dict::getVal | ( | const std::string_view | 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 231 of file Dict.h.

References RDKit::rdvalue_tostring().

## getVal() [3/3]

template<typename T>

void RDKit::Dict::getVal | ( | const std::string_view | 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 215 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_view | 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 267 of file Dict.h.

References RDKit::rdvalue_tostring().

## getValIfPresent() [2/2]

template<typename T>

bool RDKit::Dict::getValIfPresent | ( | const std::string_view | 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 256 of file Dict.h.

References RDKit::from_rdvalue().

## hasVal()

bool RDKit::Dict::hasVal | ( | const std::string_view | what | ) | const

inline

Returns whether or not the dictionary contains a particular key.

Definition at line 178 of file Dict.h.

## insert()

void RDKit::Dict::insert | ( | Pair && | pair | ) |

inline

Appends a populated Pair to the dictionary.

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

## operator=() [1/2]

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

inline

Definition at line 102 of file Dict.h.

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

## operator=() [2/2]

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

inline noexcept

Definition at line 124 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 392 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_view | what,
|  | T | val )

inline

Definition at line 309 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_view | what,
|  | bool | val )

inline

Definition at line 326 of file Dict.h.

References setPODVal().

## setVal() [2/7]

void RDKit::Dict::setVal | ( | const std::string_view | 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 361 of file Dict.h.

References setVal().

## setVal() [3/7]

void RDKit::Dict::setVal | ( | const std::string_view | what,
|  | double | val )

inline

Definition at line 333 of file Dict.h.

References setPODVal().

## setVal() [4/7]

void RDKit::Dict::setVal | ( | const std::string_view | what,
|  | float | val )

inline

Definition at line 340 of file Dict.h.

References setPODVal().

## setVal() [5/7]

void RDKit::Dict::setVal | ( | const std::string_view | what,
|  | int | val )

inline

Definition at line 346 of file Dict.h.

References setPODVal().

## setVal() [6/7]

template<typename T>

void RDKit::Dict::setVal | ( | const std::string_view | 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 291 of file Dict.h.

References RDKit::RDValue::cleanup_rdvalue().

Referenced by setVal().

## setVal() [7/7]

void RDKit::Dict::setVal | ( | const std::string_view | what,
|  | unsigned int | val )

inline

Definition at line 353 of file Dict.h.

References setPODVal().

## size()

std::size_t RDKit::Dict::size | ( |  | ) | const

inline

Returns the number of entries in the dictionary.

Definition at line 139 of file Dict.h.

## update()

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

inline

Definition at line 74 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