9 #ifndef BOTAN_STL_UTIL_H_ 10 #define BOTAN_STL_UTIL_H_ 16 #include <botan/secmem.h> 22 return std::vector<uint8_t>(s.cbegin(), s.cend());
27 return std::string(bytes.cbegin(), bytes.cend());
33 template<
typename K,
typename V>
51 template<
typename K,
typename V>
54 const V& null_result = V())
56 auto i = mapping.find(key);
57 if(i == mapping.end())
62 template<
typename K,
typename V,
typename R>
63 inline R
search_map(
const std::map<K, V>& mapping,
const K& key,
64 const R& null_result,
const R& found_result)
66 auto i = mapping.find(key);
67 if(i == mapping.end())
75 template<
typename K,
typename V>
77 const K& key,
const V& value)
79 multimap.insert(std::make_pair(key, value));
89 for(
size_t i = 0; i != vec.size(); ++i)
95 template<
typename T,
typename Pred>
98 auto i = assoc.begin();
99 while(i != assoc.end())
V search_map(const std::map< K, V > &mapping, const K &key, const V &null_result=V())
std::set< K > map_keys_as_set(const std::map< K, V > &kv)
std::vector< uint8_t > to_byte_vector(const std::string &s)
void map_remove_if(Pred pred, T &assoc)
bool value_exists(const std::vector< T > &vec, const T &val)
std::string to_string(const secure_vector< uint8_t > &bytes)
std::vector< T, secure_allocator< T > > secure_vector
void multimap_insert(std::multimap< K, V > &multimap, const K &key, const V &value)