godot/modules/gdscript
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
..
doc_classes Improve description for GDScript built-in range 2022-04-30 15:17:17 -03:00
editor Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
icons Make script type distinguishable by icon 2022-01-13 12:29:05 +01:00
language_server Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
tests Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
SCsub Refactor GDScript/C# script templates logic to be editor-only 2022-03-28 16:21:00 +02:00
config.py Unregister GDScriptFunctionState class 2020-11-26 21:39:54 -03:00
gdscript.cpp Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
gdscript.h Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
gdscript_analyzer.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_analyzer.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_byte_codegen.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_byte_codegen.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_cache.cpp Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
gdscript_cache.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
gdscript_codegen.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_compiler.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_compiler.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
gdscript_disassembler.cpp GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_editor.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_function.cpp Fix local variables not showing when breaking on final line 2022-02-16 18:12:38 +00:00
gdscript_function.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_lambda_callable.cpp GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_lambda_callable.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_parser.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_parser.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
gdscript_rpc_callable.cpp Remove VARIANT_ARG* macros 2022-03-09 18:39:13 +01:00
gdscript_rpc_callable.h [Net] Add type check to GDScriptRPCCallable. 2022-02-07 13:39:45 +01:00
gdscript_tokenizer.cpp Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
gdscript_tokenizer.h Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
gdscript_utility_functions.cpp Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init` 2022-05-02 16:28:25 +02:00
gdscript_utility_functions.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
gdscript_vm.cpp GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_warning.cpp GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
gdscript_warning.h GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
register_types.cpp Refactor module initialization 2022-05-04 17:34:51 +02:00
register_types.h Refactor module initialization 2022-05-04 17:34:51 +02:00