teslamotors / fixed-containers

C++ Fixed Containers
MIT License
352 stars 31 forks source link

Introduce FixedUnorderedMap/FixedUnorderedSet #87

Closed Bobobalink closed 4 months ago

Bobobalink commented 6 months ago

based on ankerl::UnorderedDense

This is based on Martin's dense unordered map using robinhood hashing and backwards shift deletion. This does intensive surgery to make it a fixed-container, using FixedDoublyLinkedList for backing storage. Most of the interface code is removed, leaving only the minimal amount of logic required to implement a general map interface in the future. Additionally, white-box tests are added to inspect the operations on the internal data structures of the map.