eden-miror/src/video_core/engines
crueter 7fda6dde73
[common] Switch to boost::unordered_flat containers (#4326)
Replaces all instances of ankerl's unordered map/set with boost's
`unordered_flat_*` classes. This uses std::hash since boost::hash is
actually a lot slower.

Also adds an abstraction layer in `Common` so future changes are quicker
and easier.

Other implementation details:
- ankerl provided hash specializations for tuple and pair, so those were
  ported here
- std::erase_if doesn't work on boost, so just used the ADL'd erase_if

This should be about equal or superior performance as unordered_dense for everything except iteration.

Signed-off-by: crueter <crueter@eden-emu.dev>

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4326
Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-08-31 02:58:09 +02:00
..
sw_blitter [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
const_buffer_info.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
draw_manager.cpp [maxwell_3d] append inline index draw streams in bulk (#4083) 2026-06-27 02:52:59 +02:00
engine_interface.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
engine_upload.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
engine_upload.h VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
fermi_2d.cpp [fmt] use {#:x} instead of 0x{:#x} (#4170) 2026-07-25 21:47:07 +02:00
fermi_2d.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
kepler_compute.cpp [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
kepler_compute.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
kepler_memory.cpp [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
kepler_memory.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
maxwell_3d.cpp [maxwell_3d] append inline index draw streams in bulk (#4083) 2026-06-27 02:52:59 +02:00
maxwell_3d.h [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
maxwell_dma.cpp [fmt] use {#:x} instead of 0x{:#x} (#4170) 2026-07-25 21:47:07 +02:00
maxwell_dma.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
nv01_timer.h [meta] Discourage profanity usage (#4239) 2026-08-09 02:53:16 +02:00
puller.cpp [nce, fs] tico support, fix FS bug that would nuke entire 'switch' folder (#4086) 2026-07-23 21:59:55 +02:00
puller.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00