[core] Switch to ankerl::unordered_dense

Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
This commit is contained in:
x7z4w
2025-11-24 17:34:56 +00:00
parent 03132c6877
commit ef6522ed28
282 changed files with 4386 additions and 1456 deletions

View File

@@ -12,9 +12,10 @@
#include <limits>
#include <map>
#include <memory>
#include <unordered_set>
#include <vector>
#include "3party/ankerl/unordered_dense.h"
using namespace std;
namespace
@@ -171,7 +172,7 @@ struct ArrayTypes
deque<uint32_t> m_dequeValue;
vector<uint32_t> m_vectorValue;
map<uint32_t, uint32_t> m_mapValue;
unordered_set<uint32_t> m_unorderedSetValue;
ankerl::unordered_dense::set<uint32_t> m_unorderedSetValue;
};
} // namespace
@@ -224,7 +225,7 @@ UNIT_TEST(SerdesJsonTest)
hash<string> m_hasher;
};
unordered_set<pair<string, string>, Hasher> testValue = {{"ab", "ab"}, {"ef", "ef"}, {"cd", "cd"}};
ankerl::unordered_dense::set<pair<string, string>, Hasher> testValue = {{"ab", "ab"}, {"ef", "ef"}, {"cd", "cd"}};
TEST(TestSerDes(testValue), ());
}

View File

@@ -6,10 +6,11 @@
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <unordered_map>
#include <utility>
#include <vector>
#include "3party/ankerl/unordered_dense.h"
namespace diff
{
enum Operation

View File

@@ -16,6 +16,7 @@
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "3party/ankerl/unordered_dense.h"
#include "3party/succinct/elias_fano.hpp"
#include "3party/succinct/rs_bit_vector.hpp"
@@ -28,7 +29,6 @@
#include <functional>
#include <memory>
#include <type_traits>
#include <unordered_map>
#include <vector>
// A data structure that allows storing a map from small 32-bit integers (the main use
@@ -227,7 +227,7 @@ private:
ReadBlockCallback m_readBlockCallback;
std::unordered_map<uint32_t, std::vector<Value>> m_cache;
ankerl::unordered_dense::map<uint32_t, std::vector<Value>> m_cache;
};
template <typename Value>

View File

@@ -17,10 +17,11 @@
#include <map>
#include <memory>
#include <type_traits>
#include <unordered_set>
#include <utility>
#include <vector>
#include "3party/ankerl/unordered_dense.h"
namespace coding
{
namespace traits
@@ -280,7 +281,7 @@ public:
}
template <typename T, class H = std::hash<T>>
void operator()(std::unordered_set<T, H> & dest, char const * name = nullptr)
void operator()(ankerl::unordered_dense::set<T, H> & dest, char const * name = nullptr)
{
json_t * outerContext = SaveContext(name);

View File

@@ -10,8 +10,8 @@
#include <boost/uuid/detail/sha1.hpp>
#include <algorithm>
#include <vector>
#include <bit>
#include <vector>
namespace coding
{