summaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/types/dict.hpp8
-rw-r--r--host/include/uhd/types/dict.ipp8
2 files changed, 16 insertions, 0 deletions
diff --git a/host/include/uhd/types/dict.hpp b/host/include/uhd/types/dict.hpp
index b14fc5425..6166140a0 100644
--- a/host/include/uhd/types/dict.hpp
+++ b/host/include/uhd/types/dict.hpp
@@ -71,6 +71,14 @@ namespace uhd{
bool has_key(const Key &key) const;
/*!
+ * Get a value in the dict or default.
+ * \param key the key to look for
+ * \param def use if key not found
+ * \return the value or default
+ */
+ const Val &get(const Key &key, const Val &def) const;
+
+ /*!
* Get a value for the given key if it exists.
* If the key is not found throw an error.
* \param key the key to look for
diff --git a/host/include/uhd/types/dict.ipp b/host/include/uhd/types/dict.ipp
index 85071e6fd..4aab5de45 100644
--- a/host/include/uhd/types/dict.ipp
+++ b/host/include/uhd/types/dict.ipp
@@ -86,6 +86,14 @@ namespace uhd{
}
template <typename Key, typename Val>
+ const Val &dict<Key, Val>::get(const Key &key, const Val &def) const{
+ BOOST_FOREACH(const pair_t &p, _map){
+ if (p.first == key) return p.second;
+ }
+ return def;
+ }
+
+ template <typename Key, typename Val>
const Val &dict<Key, Val>::operator[](const Key &key) const{
BOOST_FOREACH(const pair_t &p, _map){
if (p.first == key) return p.second;