Core.Containers (Visera.Core.Containers)¶
Core.Containers provides unified container types within the engine: dynamic array, map, set, queue, cache (incl. LRU), list (incl. intrusive), and SlotMap. all containers use Visera naming (e.g. TArray, TMap), and work with Types for strings, paths, etc.; some containers support custom allocators (e.g. OS.Memory.Arena).
Responsibilities¶
- TArray: dynamic array with contiguous memory; interface similar to
std::vector, supports iterators, resize, push_back; the most commonly used linear container. - TMap / TSet: hash-based or ordered associative container for key-value lookup and deduplication.
- TQueue: FIFO queue for BFS or message buffering.
- Cache(incl. LRU): cache with capacity and eviction policy; often used for resource handle caching or recent-use sets.
- List(incl. Intrusive): list; intrusive version embeds nodes inside elements to avoid extra allocation; suitable for frequent insert/remove during object lifetime.
- SlotMap: dense storage accessible by stable handle; handle invalidated when element is removed; for entity/component ID etc..
Submodules¶
| Module | Description |
|---|---|
| Array | TArray; Inline, PMR. |
| Cache | cache abstraction; LRU implementation. |
| List | list; Intrusive intrusive list. |
| Map | associative map TMap. |
| Queue | queue TQueue. |
| Set | set TSet. |
| SlotMap | dense storage with stable handles. |