Hi guys, I also have a piece of code tooling to give out.
https://sourceforge.net/projects/cgenericopenaddresshashmap/
I found that it is not so obivous to find a simple, integrable, open address hash map to a C++ project without going into crazy setups or extensive build fixings, or godknowswhat™ (licensing issues etc., you name it).
First let's link two stackoverflow threads for reference about other libraries that does similar things: https://stackoverflow.com/questions/3300525/super-high-performance-c-c-hash-map-table-dictionary
rationale:
1. In game development, caring about memory is a huge must. Notably one very good rule of thumb is to never allow fragmentation to go rampant.
2. we need associative containers in many algorithms.
So if 1. and 2. met, the child they would have together would be called open address hash map.
vanilla std::unordered just doesn't cut it, because it is closed address and therefore allocates per element. (node based containment.) A problem to be mitigated by the use of allocators or something called burst allocation. Please c.f. this document: http://igaztanaga.vosi.biz/allocplus/ So anyway, for those who want to avoid headaches, why not give my hash map a try ?
Here is the page
https://sourceforge.net/projects/cgenericopenaddresshashmap/
bests to all