This commit is contained in:
Siarhei Fedartsou 2024-06-10 21:43:49 +02:00
parent a65c9cbcb1
commit ff02ae92f4

View File

@ -32,11 +32,18 @@ template <typename NodeID, typename Key> class ArrayStorage
std::vector<Key> positions; std::vector<Key> positions;
}; };
#define USE_ANKERL
template <typename NodeID, typename Key> class UnorderedMapStorage template <typename NodeID, typename Key> class UnorderedMapStorage
{ {
public: public:
explicit UnorderedMapStorage(std::size_t) explicit UnorderedMapStorage(std::size_t)
{ /*nodes.rehash(1000);*/ {
#ifdef USE_ANKERL
nodes.rehash(1000);
#else
nodes.rehash(1000);
#endif
} }
Key &operator[](const NodeID node) { return nodes[node]; } Key &operator[](const NodeID node) { return nodes[node]; }
@ -60,8 +67,11 @@ template <typename NodeID, typename Key> class UnorderedMapStorage
void Clear() { nodes.clear(); } void Clear() { nodes.clear(); }
private: private:
#ifdef USE_ANKERL
ankerl::unordered_dense::map<NodeID, Key> nodes; ankerl::unordered_dense::map<NodeID, Key> nodes;
// std::unordered_map<NodeID, Key> nodes; #else
std::unordered_map<NodeID, Key> nodes;
#endif
}; };
template <typename NodeID, template <typename NodeID,