memory Folder
Files Index
| file | helios/core/memory/_module.ixx |
|
Aggregate module for helios::core namespace. More... | |
| file | ErasedUnique.ixx |
|
Type-erased unique ownership wrapper. More... | |
Description
helios::core::memory
Low-level memory utilities for type-erased ownership.
Overview
This module provides foundational memory primitives used by the engine's resource management layer. The primary type is ErasedUnique, a lightweight ownership wrapper that enables heterogeneous collections without requiring a common base class.
Key Classes
| Class | Purpose |
|---|---|
| ErasedUnique | Type-erased unique ownership wrapper (16 bytes) |
ErasedUnique
ErasedUnique provides unique_ptr-like ownership semantics without requiring a virtual destructor or common base class. It stores a void* and a typed deleter function pointer:
Construction
Constructed from any std::unique_ptr<T>. The deleter captures the concrete type at construction time:
Move-Only Semantics
ErasedUnique is move-only. Moving transfers ownership and nulls the source. Copy construction and assignment are implicitly deleted.
Primary Consumer
ErasedUnique is used by ResourceRegistry to store Managers, CommandBuffers, and other heterogeneous resources in a single std::vector<ErasedUnique> without vtable overhead for destruction.
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.