types Namespace
Definition
Classes Index
| struct | ComponentOps |
|
Container for type-erased component lifecycle function pointers. More... | |
| class | ComponentTypeId<THandle> |
|
Unique type identifier for component types, scoped per domain. More... | |
| struct | EntityHandle<TDomainTag> |
|
A versioned handle for referencing entities in a registry. More... | |
| struct | no_init_t |
|
Tag type used to indicate skipping default initialization. More... | |
| struct | StrongId<Tag> |
|
A strongly-typed identifier using tag-based type safety. More... | |
Typedefs Index
| using | VersionId = uint32_t |
|
Version number for detecting stale entity references. More... | |
| using | EntityId = uint32_t |
|
Unique identifier for an entity within an EntityPool. More... | |
| using | StrongId_t = uint32_t |
|
Underlying integer type for all strong identifiers. More... | |
Functions Index
| constexpr uint32_t | fnv1a_hash (const std::string_view str) noexcept |
|
Computes a 32-bit FNV-1a hash from a string. More... | |
Variables Index
| constexpr auto | InvalidVersion = VersionId{0} |
|
Sentinel version indicating an invalid or uninitialized handle. More... | |
| constexpr auto | InitialVersion = VersionId{1} |
|
The initial version assigned to newly created entities. More... | |
| constexpr size_t | EntityTombstone = std::numeric_limits<size_t>::max() |
|
Sentinel value indicating an invalid or removed sparse index. More... | |
| constexpr no_init_t | no_init |
|
Tag constant for requesting uninitialized construction. More... | |
Typedefs
EntityId
|
Unique identifier for an entity within an EntityPool.
Used as the index into the sparse array of an EntityPool. Combined with a VersionId in an EntityHandle, it enables safe entity references that detect stale handles after entity removal.
- See Also
- See Also
- See Also
EntityPool
Definition at line 44 of file TypeDefs.ixx.
StrongId_t
|
Underlying integer type for all strong identifiers.
StrongId_t is the common numeric representation used by StrongId<Tag> and related lookup structures (e.g., EntityRegistry, LinearLookupStrategy, HashedLookupStrategy). Centralising the typedef ensures a consistent width across the entire identifier subsystem.
- See Also
- See Also
- See Also
Definition at line 72 of file TypeDefs.ixx.
VersionId
|
Version number for detecting stale entity references.
Each entity slot in an EntityPool has an associated version that is incremented when the entity is removed. EntityHandles store both the EntityId and VersionId, allowing the pool to detect when a handle refers to a recycled slot.
A valid version starts at 1 (uninitialized handles have version 0).
- See Also
- See Also
- See Also
EntityPool
Definition at line 31 of file TypeDefs.ixx.
Functions
fnv1a_hash()
| constexpr noexcept |
Computes a 32-bit FNV-1a hash from a string.
Implements the Fowler–Noll–Vo hash function (FNV-1a variant), a fast, non-cryptographic hash suitable for hash tables and identifier generation. The function is constexpr, enabling compile-time hashing of string literals.
Definition at line 49 of file FuncDefs.ixx.
Variables
EntityTombstone
| constexpr |
Sentinel value indicating an invalid or removed sparse index.
Used in sparse-set data structures (e.g., EntityPool, EntityPool) to mark slots that do not contain valid entity references. When a slot contains this value, the corresponding entity has been removed or was never assigned.
- See Also
EntityPool
- See Also
EntityPool
Definition at line 57 of file TypeDefs.ixx.
InitialVersion
| constexpr |
The initial version assigned to newly created entities.
Versions start at 1 to distinguish valid handles from default-initialized handles that may have a version of 0.
Definition at line 31 of file EntityHandle.ixx.
InvalidVersion
| constexpr |
Sentinel version indicating an invalid or uninitialized handle.
Definition at line 23 of file EntityHandle.ixx.
Referenced by helios::ecs::EntityRegistry< TDomainTag, TLookupStrategy, TAllowRemoval, TCapacity >::version.
no_init
| constexpr |
Tag constant for requesting uninitialized construction.
This is a convenience instance of no_init_t that can be passed to constructors supporting uninitialized construction.
- See Also
- See Also
helios::engine::util::Guid
Definition at line 121 of file TypeDefs.ixx.
The documentation for this namespace was generated from the following files:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.