ecs Namespace
Generic, reusable ECS primitives. More...
Definition
Namespaces Index
| namespace | components |
|
ECS core components for entity lifecycle and relationships. More... | |
| namespace | concepts |
|
Compile-time constraints for ECS extension points. More... | |
| namespace | traits |
Classes Index
| struct | ComponentOps |
|
Container for type-erased component lifecycle function pointers. More... | |
| class | ComponentOpsRegistry<THandle> |
|
Global registry for component lifecycle function pointers. More... | |
| class | ComponentReflector<THandle, TEntityManager> |
|
Generates and registers ComponentOps for a component type. More... | |
| class | ComponentTypeId<THandle> |
|
Unique type identifier for component types, scoped per domain. More... | |
| class | Entity<THandle, TEntityManager> |
|
Lightweight facade for entity component manipulation. More... | |
| struct | EntityHandle<TStrongId> |
|
A versioned handle for referencing entities in a registry. More... | |
| class | EntityManager<THandle, TEntityRegistry, TCapacity> |
|
Manages entities and their associated components. More... | |
| class | EntityRegistry<TStrongId, TLookupStrategy, TAllowRemoval, TCapacity> |
|
Generic registry for creating and managing strongly-typed entity handles. More... | |
| struct | EntityResolver<TEntityManager> |
|
Callable that resolves an EntityHandle to an Entity facade. More... | |
| class | HashedLookupStrategy |
|
Lookup strategy using an unordered set for O(1) amortized lookups. More... | |
| class | LinearLookupStrategy<TCapacity> |
|
Lookup strategy using a flat vector with linear scan. More... | |
| class | SparseSetBase |
|
Abstract base class for type-erased sparse set access. More... | |
| class | SparseSet<T> |
|
A generic sparse set providing O(1) insertion, lookup, and removal. More... | |
| class | TypedHandleWorld<TEntityManagers> |
|
A multi-domain entity world that dispatches operations to the correct `EntityManager` based on the handle type. More... | |
| class | View<TEntityManager, Components> |
|
A view class to iterate over entities having specific components. 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 auto | Tombstone = EntityTombstone |
|
Sentinel value indicating an empty slot in the sparse array. More... | |
Description
Generic, reusable ECS primitives.
Provides policy-based templates for entity handle management, version tracking, and sparse-set storage that are independent of any specific engine subsystem.
Variables
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 30 of file EntityHandle.ixx.
InvalidVersion
| constexpr |
Sentinel version indicating an invalid or uninitialized handle.
Definition at line 22 of file EntityHandle.ixx.
Referenced by helios::core::ecs::EntityRegistry< TStrongId, TLookupStrategy, TAllowRemoval, TCapacity >::version.
Tombstone
| constexpr |
Sentinel value indicating an empty slot in the sparse array.
Aliased from `helios::core::types::EntityTombstone`.
Definition at line 74 of file SparseSet.ixx.
Referenced by helios::core::ecs::SparseSet< T >::contains, helios::core::ecs::SparseSet< T >::emplace, helios::core::ecs::SparseSet< T >::get, helios::core::ecs::SparseSet< T >::get, helios::core::ecs::SparseSet< T >::insert and helios::core::ecs::SparseSet< T >::remove.
The documentation for this namespace was generated from the following files:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.