18 #ifndef INCLUDED_UHD_TYPES_DICT_HPP 19 #define INCLUDED_UHD_TYPES_DICT_HPP 30 template <
typename Key,
typename Val>
class dict{
43 template <
typename InputIterator>
44 dict(InputIterator first, InputIterator last);
50 std::size_t
size(
void)
const;
57 std::vector<Key>
keys(
void)
const;
64 std::vector<Val>
vals(
void)
const;
71 bool has_key(
const Key &key)
const;
79 const Val &
get(
const Key &key,
const Val &other)
const;
86 const Val &
get(
const Key &key)
const;
93 void set(
const Key &key,
const Val &val);
118 Val
pop(
const Key &key);
138 typedef std::pair<Key, Val> pair_t;
139 std::list<pair_t> _map;
const Val & operator[](const Key &key) const
Definition: dict.ipp:109
void update(const dict< Key, Val > &new_dict, bool fail_on_conflict=true)
Definition: dict.ipp:139
std::size_t size(void) const
Definition: dict.ipp:57
Val pop(const Key &key)
Definition: dict.ipp:126
dict(void)
Definition: dict.ipp:45
Definition: convert.hpp:28
std::vector< Val > vals(void) const
Definition: dict.ipp:71
bool has_key(const Key &key) const
Definition: dict.ipp:80
std::vector< Key > keys(void) const
Definition: dict.ipp:62