godot/core/templates
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
..
bin_sorted_array.h
command_queue_mt.cpp
command_queue_mt.h
cowdata.h Add search methods for packed arrays 2022-05-07 20:16:11 +08:00
hash_map.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
hashfuncs.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
list.h
local_vector.h
lru.h
map.h
oa_hash_map.h Add mutable OAHashMap::lookup_ptr function to fix mutability. 2022-04-22 09:20:15 +02:00
paged_allocator.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
paged_array.h
pair.h
pass_func.h
pooled_list.h
rid.h
rid_owner.cpp
rid_owner.h
ring_buffer.h
safe_list.h add SafeList destructor which calls maybe_cleanup() to prevent mem leak 2022-04-08 09:50:49 -04:00
safe_refcount.h
SCsub
search_array.h
self_list.h
set.h
simple_type.h
sort_array.h
thread_work_pool.cpp
thread_work_pool.h
vector.h Add search methods for packed arrays 2022-05-07 20:16:11 +08:00
vmap.h
vset.h