godot/core/variant
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
..
SCsub Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
array.cpp Const Ref Callable for custom sort/search 2022-03-27 22:10:36 -04:00
array.h Const Ref Callable for custom sort/search 2022-03-27 22:10:36 -04:00
binder_common.h Create GDExtension clases for PhysicsServer3D 2022-03-15 18:39:31 +01:00
callable.cpp Const Ref Callable for custom sort/search 2022-03-27 22:10:36 -04:00
callable.h Const Ref Callable for custom sort/search 2022-03-27 22:10:36 -04:00
callable_bind.cpp Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
callable_bind.h Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
container_type_validate.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
dictionary.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
dictionary.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
method_ptrcall.h Core: Move Rect2i to its own `rect2i.h` header 2022-02-04 14:17:30 +01:00
native_ptr.h Create GDExtension clases for PhysicsServer3D 2022-03-15 18:39:31 +01:00
type_info.h Create GDExtension clases for PhysicsServer3D 2022-03-15 18:39:31 +01:00
typed_array.h Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
variant.cpp quote strings inside arrays and dictionaries 2022-05-03 13:37:13 -05:00
variant.h Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
variant_call.cpp Add search methods for packed arrays 2022-05-07 20:16:11 +08:00
variant_construct.cpp Core: Rename math 'phi' arguments to 'angle' 2022-05-05 14:17:39 +02:00
variant_construct.h Merge pull request #56167 from cdemirer/constructor-toarray-fix 2022-05-11 15:47:06 +02:00
variant_destruct.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
variant_destruct.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
variant_internal.h Fix Variant Ref<> assignment. 2022-02-11 12:30:49 +01:00
variant_op.cpp Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
variant_op.h Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
variant_parser.cpp Merge pull request #48989 from MarioLiebisch/variant-comment-line-breaks 2022-05-05 13:41:08 +02:00
variant_parser.h Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
variant_setget.cpp Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
variant_setget.h Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
variant_utility.cpp Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00