15#include <unordered_map>
38 std::size_t
operator()(std::string_view str)
const noexcept
39 {
return std::hash<std::string_view>{}(str); }
57 bool operator()(std::string_view lhs, std::string_view rhs)
const noexcept
58 {
return lhs == rhs; }
75template<
typename T,
typename Allocator = std::allocator<std::pair<std::
string const, T>>>
76using UnorderedStringMap = std::unordered_map<std::string, T, TransparentHash, TransparentEqual, Allocator>;
85template<
typename T,
typename Allocator = std::allocator<std::pair<std::
string const, T>>>
86using StringMap = std::map<std::string, T, TransparentLess, Allocator>;
Definition SystemConfigCommandHandler.hpp:15
std::unordered_map< std::string, T, TransparentHash, TransparentEqual, Allocator > UnorderedStringMap
Convenience alias for an unordered map keyed by std::string with transparent lookup.
Definition StringMap.hpp:76
std::map< std::string, T, TransparentLess, Allocator > StringMap
Convenience alias for an ordered map keyed by std::string with transparent lookup.
Definition StringMap.hpp:86
std::less<> TransparentLess
Comparator alias enabling transparent ordered lookup.
Definition StringMap.hpp:66
Transparent equality predicate for string-like lookups.
Definition StringMap.hpp:49
void is_transparent
Marker enabling heterogeneous lookup in standard associative containers.
Definition StringMap.hpp:51
bool operator()(std::string_view lhs, std::string_view rhs) const noexcept
Compare two string views.
Definition StringMap.hpp:57
Transparent hash functor for string-like lookups.
Definition StringMap.hpp:31
void is_transparent
Marker enabling heterogeneous lookup in standard associative containers.
Definition StringMap.hpp:33
std::size_t operator()(std::string_view str) const noexcept
Hash a string view.
Definition StringMap.hpp:38