reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
..
2022-02-02 00:11:09 +05:45
2022-01-03 21:27:34 +01:00
2022-05-12 11:21:29 +02:00
2022-05-12 11:21:29 +02:00
2022-04-12 10:54:39 +03:00
2022-04-11 13:28:51 +03:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-04-12 14:50:14 +03:00
2022-05-02 16:28:25 +02:00
2022-04-20 11:09:59 +03:00
2022-04-20 10:34:00 +03:00
2022-04-12 14:50:14 +03:00
2022-05-02 16:28:25 +02:00
2022-04-12 10:54:39 +03:00
2022-04-12 14:50:14 +03:00
2022-03-27 16:36:44 +02:00
2022-02-03 02:45:30 +01:00
2022-01-27 03:22:37 +01:00
2022-01-27 03:22:37 +01:00
2022-05-03 01:43:50 +02:00
2022-05-03 01:43:50 +02:00
2022-05-11 17:39:27 +08:00
2022-04-19 16:30:08 +02:00
2022-02-04 11:35:01 +02:00
2022-01-03 21:27:34 +01:00
2022-05-02 16:28:25 +02:00
2022-04-04 19:49:50 +02:00
2022-02-04 11:35:01 +02:00
2022-01-03 21:27:34 +01:00
2022-04-12 10:54:39 +03:00
2022-04-20 10:34:00 +03:00
2022-05-03 14:40:01 +02:00
2022-02-14 23:04:05 +03:00
2022-05-12 11:21:29 +02:00
2022-05-12 11:21:29 +02:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-04-06 14:34:37 +03:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-03-27 16:36:44 +02:00
2022-03-27 16:36:44 +02:00
2022-02-02 00:11:09 +05:45
2022-01-03 21:27:34 +01:00
2022-04-12 14:50:14 +03:00
2022-04-11 13:28:51 +03:00
2022-05-10 13:03:13 +02:00
2022-05-03 01:43:50 +02:00
2022-05-03 01:43:50 +02:00
2022-05-03 01:43:50 +02:00
2022-05-03 17:08:09 +02:00
2022-05-03 17:08:09 +02:00
2022-05-03 01:43:50 +02:00
2022-05-03 01:43:50 +02:00
2022-05-12 11:21:29 +02:00
2022-05-12 11:21:29 +02:00
2022-05-12 11:21:29 +02:00
2022-05-03 01:43:50 +02:00
2020-03-30 09:05:53 +02:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-05-04 20:13:32 +02:00
2022-04-27 13:56:58 +02:00
2022-02-02 00:11:09 +05:45
2022-03-26 15:46:01 +01:00
2022-01-03 21:27:34 +01:00
2022-01-03 21:27:34 +01:00
2022-05-03 01:43:50 +02:00
2022-05-03 01:43:50 +02:00
2022-01-03 21:27:34 +01:00
2022-04-04 19:49:50 +02:00
2022-04-11 13:28:51 +03:00
2022-01-03 21:27:34 +01:00
2022-05-11 16:08:17 +03:00
2022-05-11 16:08:17 +03:00