8#include <aws/core/Core_EXPORTS.h>
10#include <aws/core/utils/memory/stl/AWSAllocator.h>
13#include <unordered_map>
28 return std::strcmp(a, b) < 0;
32template<
typename V>
using CStringMap = std::map<const char*, V, CompareStrings, Aws::Allocator<std::pair<const char*, V> > >;
34template<
typename Key,
typename SourceValue,
typename DestinationValue>
37 std::function<DestinationValue (
const SourceValue&)> mappingFunc)
39 for (
const auto& srcPair: src)
41 dst.emplace(srcPair.first, mappingFunc(srcPair.second));
45template<
typename K,
typename V>
48 if ( it == map.end() ) {
49 return std::forward<V>(defaultValue);
V GetWithDefault(const Aws::Map< K, V > &map, const K &key, V &&defaultValue)
std::allocator< T > Allocator
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
void TransformAndInsert(const Aws::UnorderedMap< Key, SourceValue > &src, Aws::Map< Key, DestinationValue > &dst, std::function< DestinationValue(const SourceValue &)> mappingFunc)
std::map< const char *, V, CompareStrings, Aws::Allocator< std::pair< const char *, V > > > CStringMap
std::multimap< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > MultiMap
std::unordered_map< K, V, std::hash< K >, std::equal_to< K >, Aws::Allocator< std::pair< const K, V > > > UnorderedMap
bool operator()(const char *a, const char *b) const