|
template <class T> |
|
struct impl_map { |
|
using type = simple_impl<T>; |
|
}; |
|
|
|
template <class Key, class Compare, class Allocator> |
|
struct impl_map<std::set<Key, Compare, Allocator>> { |
|
using type = set_impl<std::set<Key, Compare, Allocator>>; |
|
}; |
|
|
|
template <class Key, class Compare, class Allocator> |
|
struct impl_map<std::multiset<Key, Compare, Allocator>> { |
|
using type = set_impl<std::multiset<Key, Compare, Allocator>>; |
|
}; |
|
|
|
template <class Key, class Hash, class KeyEqual, class Allocator> |
|
struct impl_map<std::unordered_set<Key, Hash, KeyEqual, Allocator>> { |
|
using type = set_impl<std::unordered_set<Key, Hash, KeyEqual, Allocator>>; |
|
}; |
|
|
|
template <class Key, class Hash, class KeyEqual, class Allocator> |
|
struct impl_map<std::unordered_multiset<Key, Hash, KeyEqual, Allocator>> { |
|
using type = set_impl<std::unordered_multiset<Key, Hash, KeyEqual, Allocator>>; |
|
}; |
|
|
|
template <class Key, class T, class Compare, class Allocator> |
|
struct impl_map<std::map<Key, T, Compare, Allocator>> { |
|
using type = map_impl<std::map<Key, T, Compare, Allocator>>; |
|
}; |
|
|
|
template <class Key, class T, class Compare, class Allocator> |
|
struct impl_map<std::multimap<Key, T, Compare, Allocator>> { |
|
using type = map_impl<std::multimap<Key, T, Compare, Allocator>>; |
|
}; |
|
|
|
template <class Key, class Hash, class KeyEqual, class Allocator> |
|
struct impl_map<std::unordered_map<Key, Hash, KeyEqual, Allocator>> { |
|
using type = map_impl<std::unordered_map<Key, Hash, KeyEqual, Allocator>>; |
|
}; |
|
|
|
template <class Key, class Hash, class KeyEqual, class Allocator> |
|
struct impl_map<std::unordered_multimap<Key, Hash, KeyEqual, Allocator>> { |
|
using type = map_impl<std::unordered_multimap<Key, Hash, KeyEqual, Allocator>>; |
|
}; |
I'd like to use
response<vector<pair<T, U>>>orresponse<absl::flat_hash_map<T, U>>as my response type forHGETALL, but the adapter is hardcoded to only support the standard library associative containers:redis/include/boost/redis/adapter/detail/adapters.hpp
Lines 487 to 530 in 6f17663
It's also missing the new ones from C++23 (ie.
flat_map). It would ideally support anything with a "map-like" interface.