Simple storage with dynamic memory (re-)allocation.
Goals:
- Stable indexes (ids);
- O(1) push back;
- O(1) delete by id;
- O(1) get by id;
- Cache frendly iteration;
- Single file.
- Data lies directly in storage (e.g., std::vector);
- Two auxiliary arrays provide forward and reverse indices, enabling stable ID generation and constant-time lookup;
- Deletion is O(1) via swap‑and‑pop.
Licensed under the MIT license.
I would be very grateful for finding bugs and expressing constructive criticism.