#include <uhd/types/dict.hpp>
|
| dict (void) |
|
template<typename InputIterator > |
| dict (InputIterator first, InputIterator last) |
|
std::size_t | size (void) const |
|
std::vector< Key > | keys (void) const |
|
std::vector< Val > | vals (void) const |
|
bool | has_key (const Key &key) const |
|
const Val & | get (const Key &key, const Val &other) const |
|
const Val & | get (const Key &key) const |
|
void | set (const Key &key, const Val &val) |
|
const Val & | operator[] (const Key &key) const |
|
Val & | operator[] (const Key &key) |
|
bool | operator== (const dict< Key, Val > &other) const |
|
bool | operator!= (const dict< Key, Val > &other) const |
|
Val | pop (const Key &key) |
|
void | update (const dict< Key, Val > &new_dict, bool fail_on_conflict=true) |
|
| operator std::map< Key, Val > () const |
|
template<typename Key, typename Val>
class uhd::dict< Key, Val >
A templated dictionary class with a python-like interface.
◆ dict() [1/2]
template<typename Key , typename Val >
Create a new empty dictionary.
◆ dict() [2/2]
template<typename Key , typename Val >
template<typename InputIterator >
uhd::dict< Key, Val >::dict |
( |
InputIterator |
first, |
|
|
InputIterator |
last |
|
) |
| |
Input iterator constructor: Makes boost::assign::map_list_of work.
- Parameters
-
first | the begin iterator |
last | the end iterator |
◆ get() [1/2]
template<typename Key, typename Val>
const Val & uhd::dict< Key, Val >::get |
( |
const Key & |
key, |
|
|
const Val & |
other |
|
) |
| const |
Get a value in the dict or default.
- Parameters
-
key | the key to look for |
other | use if key not found |
- Returns
- the value or default
◆ get() [2/2]
template<typename Key, typename Val>
const Val & uhd::dict< Key, Val >::get |
( |
const Key & |
key | ) |
const |
Get a value in the dict or throw.
- Parameters
-
- Returns
- the value or default
◆ has_key()
template<typename Key, typename Val >
bool uhd::dict< Key, Val >::has_key |
( |
const Key & |
key | ) |
const |
Does the dictionary contain this key?
- Parameters
-
- Returns
- true if found
◆ keys()
template<typename Key , typename Val >
std::vector< Key > uhd::dict< Key, Val >::keys |
( |
void |
| ) |
const |
Get a list of the keys in this dict. Key order depends on insertion precedence.
- Returns
- vector of keys
◆ operator std::map< Key, Val >()
template<typename Key , typename Val >
uhd::dict< Key, Val >::operator std::map< Key, Val > |
( |
| ) |
const |
Typecast operator to std::map<>
◆ operator!=()
template<typename Key, typename Val>
bool uhd::dict< Key, Val >::operator!= |
( |
const dict< Key, Val > & |
other | ) |
const |
Not equal operator for the dict type
- Parameters
-
other | the dict being compared to this |
- Returns
- whether or not the two dict's are not equal
◆ operator==()
template<typename Key, typename Val>
bool uhd::dict< Key, Val >::operator== |
( |
const dict< Key, Val > & |
other | ) |
const |
Equals operator for the dict type
- Parameters
-
other | the dict being compared to this |
- Returns
- whether or not the two dict's are equal
◆ operator[]() [1/2]
template<typename Key, typename Val >
const Val & uhd::dict< Key, Val >::operator[] |
( |
const Key & |
key | ) |
const |
Get a value for the given key if it exists. If the key is not found throw an error.
- Parameters
-
- Returns
- the value at the key
- Exceptions
-
an | exception when not found |
◆ operator[]() [2/2]
template<typename Key, typename Val >
Val & uhd::dict< Key, Val >::operator[] |
( |
const Key & |
key | ) |
|
Set a value for the given key, however, in reality it really returns a reference which can be assigned to.
- Parameters
-
- Returns
- a reference to the value
◆ pop()
template<typename Key, typename Val >
Val uhd::dict< Key, Val >::pop |
( |
const Key & |
key | ) |
|
Pop an item out of the dictionary.
- Parameters
-
- Returns
- the value of the item
- Exceptions
-
an | exception when not found |
◆ set()
template<typename Key, typename Val>
void uhd::dict< Key, Val >::set |
( |
const Key & |
key, |
|
|
const Val & |
val |
|
) |
| |
Set a value in the dict at the key.
- Parameters
-
key | the key to set at |
val | the value to set |
◆ size()
template<typename Key , typename Val >
std::size_t uhd::dict< Key, Val >::size |
( |
void |
| ) |
const |
Get the number of elements in this dict.
- Returns
- the number of elements
◆ update()
template<typename Key, typename Val>
void uhd::dict< Key, Val >::update |
( |
const dict< Key, Val > & |
new_dict, |
|
|
bool |
fail_on_conflict = true |
|
) |
| |
Update this dictionary with values from another.
Basically, this copies all the key/value pairs from new_dict
into this dict. When the key is already present in the current dict, it either overwrites the current value (if fail_on_conflict
is false) or it throws (if fail_on_conflict
is true and the values differ).
With the exception of fail_on_conflict
, this behaves analogously to Python's dict.update() method.
- Parameters
-
new_dict | The arguments to copy. |
fail_on_conflict | If true, throws. |
- Exceptions
-
◆ vals()
template<typename Key , typename Val >
std::vector< Val > uhd::dict< Key, Val >::vals |
( |
void |
| ) |
const |
Get a list of the values in this dict. Value order depends on insertion precedence.
- Returns
- vector of values
The documentation for this class was generated from the following files: