diff options
Diffstat (limited to 'src/utils/stl_util.h')
-rw-r--r-- | src/utils/stl_util.h | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/utils/stl_util.h b/src/utils/stl_util.h deleted file mode 100644 index 0710d61a5..000000000 --- a/src/utils/stl_util.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -* STL Utility Functions -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#ifndef BOTAN_STL_UTIL_H__ -#define BOTAN_STL_UTIL_H__ - -#include <vector> -#include <string> -#include <map> - -namespace Botan { - -inline std::vector<byte> to_byte_vector(const std::string& s) - { - return std::vector<byte>(reinterpret_cast<const byte*>(&s[0]), - reinterpret_cast<const byte*>(&s[s.size()])); - } - -/* -* Searching through a std::map -* @param mapping the map to search -* @param key is what to look for -* @param null_result is the value to return if key is not in mapping -* @return mapping[key] or null_result -*/ -template<typename K, typename V> -inline V search_map(const std::map<K, V>& mapping, - const K& key, - const V& null_result = V()) - { - auto i = mapping.find(key); - if(i == mapping.end()) - return null_result; - return i->second; - } - -template<typename K, typename V, typename R> -inline R search_map(const std::map<K, V>& mapping, const K& key, - const R& null_result, const R& found_result) - { - auto i = mapping.find(key); - if(i == mapping.end()) - return null_result; - return found_result; - } - -/* -* Insert a key/value pair into a multimap -*/ -template<typename K, typename V> -void multimap_insert(std::multimap<K, V>& multimap, - const K& key, const V& value) - { -#if defined(BOTAN_BUILD_COMPILER_IS_SUN_STUDIO) - // Work around a strange bug in Sun Studio - multimap.insert(std::make_pair<const K, V>(key, value)); -#else - multimap.insert(std::make_pair(key, value)); -#endif - } - -/** -* Existence check for values -*/ -template<typename T> -bool value_exists(const std::vector<T>& vec, - const T& val) - { - for(size_t i = 0; i != vec.size(); ++i) - if(vec[i] == val) - return true; - return false; - } - -template<typename T, typename Pred> -void map_remove_if(Pred pred, T& assoc) - { - auto i = assoc.begin(); - while(i != assoc.end()) - { - if(pred(i->first)) - assoc.erase(i++); - else - i++; - } - } - -} - -#endif |