Skip to main content

ecs Namespace

Generic, reusable ECS primitives. More...

Definition

namespace helios::core::ecs { ... }

Namespaces Index

namespacecomponents

ECS core components for entity lifecycle and relationships. More...

namespaceconcepts

Compile-time constraints for ECS extension points. More...

namespacetraits

Classes Index

structComponentOps

Container for type-erased component lifecycle function pointers. More...

classComponentOpsRegistry<THandle>

Global registry for component lifecycle function pointers. More...

classComponentReflector<THandle, TEntityManager>

Generates and registers ComponentOps for a component type. More...

classComponentTypeId<THandle>

Unique type identifier for component types, scoped per domain. More...

classEntity<THandle, TEntityManager>

Lightweight facade for entity component manipulation. More...

structEntityHandle<TStrongId>

A versioned handle for referencing entities in a registry. More...

classEntityManager<THandle, TEntityRegistry, TCapacity>

Manages entities and their associated components. More...

classEntityRegistry<TStrongId, TLookupStrategy, TAllowRemoval, TCapacity>

Generic registry for creating and managing strongly-typed entity handles. More...

structEntityResolver<TEntityManager>

Callable that resolves an EntityHandle to an Entity facade. More...

classHashedLookupStrategy

Lookup strategy using an unordered set for O(1) amortized lookups. More...

classLinearLookupStrategy<TCapacity>

Lookup strategy using a flat vector with linear scan. More...

classSparseSetBase

Abstract base class for type-erased sparse set access. More...

classSparseSet<T>

A generic sparse set providing O(1) insertion, lookup, and removal. More...

classTypedHandleWorld<TEntityManagers>

A multi-domain entity world that dispatches operations to the correct `EntityManager` based on the handle type. More...

classView<TEntityManager, Components>

A view class to iterate over entities having specific components. More...

Variables Index

constexpr autoInvalidVersion = VersionId{0}

Sentinel version indicating an invalid or uninitialized handle. More...

constexpr autoInitialVersion = VersionId{1}

The initial version assigned to newly created entities. More...

constexpr autoTombstone = 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

auto helios::core::ecs::InitialVersion = VersionId{1}
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.

30 constexpr auto InitialVersion = VersionId{1};

InvalidVersion

auto helios::core::ecs::InvalidVersion = VersionId{0}
constexpr

Sentinel version indicating an invalid or uninitialized handle.

Definition at line 22 of file EntityHandle.ixx.

22 constexpr auto InvalidVersion = VersionId{0};

Referenced by helios::core::ecs::EntityRegistry< TStrongId, TLookupStrategy, TAllowRemoval, TCapacity >::version.

Tombstone

auto helios::core::ecs::Tombstone = EntityTombstone
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.

74 constexpr auto Tombstone = EntityTombstone;

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.