@@ -12,46 +12,49 @@ namespace morpheus::containers
1212// / \struct string_hash
1313// / Defines a hasher for string which enable heterogeneous overloads as outlined at
1414// / <a href="https://github.com/martinus/unordered_dense?tab=readme-ov-file#324-heterogeneous-overloads-using-is_transparent ">unordered_dense</a>
15- struct string_hash {
15+ struct string_hash
16+ {
1617 using is_transparent = void ; // /< Enable heterogeneous overloads
1718 using is_avalanching = void ; // /< Mark class as high quality avalanching hash
1819
19- [[nodiscard]] auto operator ()(std::string_view str) const noexcept -> std::uint64_t {
20- return ankerl::unordered_dense::hash<std::string_view>{}(str);
21- }
20+ [[nodiscard]] auto operator ()(std::string_view str) const noexcept -> std::uint64_t { return ankerl::unordered_dense::hash<std::string_view>{}(str); }
2221};
2322
2423namespace details
2524{
2625
27- template <typename K, typename V>
28- struct UnorderdDenseMap {
26+ template <typename K, typename V>
27+ struct UnorderdDenseMap
28+ {
2929 using type = ankerl::unordered_dense::map<K, V>;
3030};
3131
32- template <typename V>
33- struct UnorderdDenseMap <std::string, V> {
32+ template <typename V>
33+ struct UnorderdDenseMap <std::string, V>
34+ {
3435 using type = ankerl::unordered_dense::map<std::string, V, string_hash, std::equal_to<>>;
3536};
3637
37- template <typename V>
38- struct UnorderdDenseSet {
38+ template <typename V>
39+ struct UnorderdDenseSet
40+ {
3941 using type = ankerl::unordered_dense::set<V>;
4042};
4143
42- template <>
43- struct UnorderdDenseSet <std::string> {
44+ template <>
45+ struct UnorderdDenseSet <std::string>
46+ {
4447 using type = ankerl::unordered_dense::set<std::string, string_hash, std::equal_to<>>;
4548};
4649
47- }
50+ } // namespace details
4851
4952// / Helper alias which ensure users get heterogeneous overloads where possible.
50- template <typename K, typename V>
53+ template <typename K, typename V>
5154using UnorderedMap = typename details::UnorderdDenseMap<K, V>::type;
5255
5356// / Helper alias which ensure users get heterogeneous overloads where possible.
54- template <typename V>
55- using UnorderedSet = typename details::UnorderdDenseSet< V>::type;
57+ template <typename V>
58+ using UnorderedSet = typename details::UnorderdDenseSet<V>::type;
5659
57- }
60+ } // namespace morpheus::containers
0 commit comments