godot/drivers/gles3/storage
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.cpp Overhaul GLES3: Add basis for 3D renderer, overhaul materials and textures 2022-04-26 11:48:39 -07:00
config.h Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init 2022-05-02 16:28:25 +02:00
light_storage.cpp Add LightStorage functions to GLES3 renderer 2022-04-28 13:51:47 -07:00
light_storage.h Add LightStorage functions to GLES3 renderer 2022-04-28 13:51:47 -07:00
material_storage.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
material_storage.h Overhaul GLES3: Add basis for 3D renderer, overhaul materials and textures 2022-04-26 11:48:39 -07:00
mesh_storage.cpp Rename Basis "elements" to "rows" 2022-04-29 08:02:56 -05:00
mesh_storage.h Add MeshStorage to GLES3 2022-04-28 11:22:20 -07:00
particles_storage.cpp Moved particles into ParticlesStorage 2022-04-17 13:13:22 +10:00
particles_storage.h Moved particles into ParticlesStorage 2022-04-17 13:13:22 +10:00
SCsub
texture_storage.cpp Overhaul GLES3: Add basis for 3D renderer, overhaul materials and textures 2022-04-26 11:48:39 -07:00
texture_storage.h [GL] Fix HTML5 builds. 2022-05-11 00:26:26 +02:00