godot/core
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
..
config Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
crypto Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
debugger Rename profiler "Idle Time" to "Process Time" 2022-05-05 20:23:47 +02:00
error Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
extension Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
input Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
io Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
math Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
multiplayer [Debugger] Move most profilers to ServersDebugger. 2022-02-06 17:36:48 +01:00
object Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
os Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
string Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
templates Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
variant Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
SCsub Core: Move generated `VERSION_HASH` to a `.cpp` file 2022-02-09 09:20:17 +01:00
core_bind.cpp Add OS::is_process_running function. 2022-05-03 17:27:17 -07:00
core_bind.h Add OS::is_process_running function. 2022-05-03 17:27:17 -07:00
core_builders.py Use maximum zlib compression when generating editor translation headers 2021-10-29 19:07:48 +02:00
core_constants.cpp Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
core_constants.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
core_string_names.cpp Cleanup metadata usage 2022-05-06 00:27:10 +02:00
core_string_names.h Cleanup metadata usage 2022-05-06 00:27:10 +02:00
doc_data.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
doc_data.h Object: Remove unused category boilerplate 2022-03-26 15:46:01 +01:00
register_core_types.cpp Implement missing Node & Resource placeholders 2022-05-03 17:08:09 +02:00
register_core_types.h Fix extension registration order. 2022-02-20 10:58:46 -03:00
typedefs.h Change some math macros to constexpr 2022-03-09 16:24:32 +01:00
version.h Core: Move generated `VERSION_HASH` to a `.cpp` file 2022-02-09 09:20:17 +01:00