Skip to main content

ecs Namespace

Generic, reusable ECS primitives. More...

Definition

namespace helios::ecs { ... }

Namespaces Index

namespacecomponents

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

namespaceconcepts

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

namespacestrategies
namespacetypes

Classes Index

classComponentOpsRegistry<THandle>

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

classComponentReflector<TEntityManager>

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

classEntity<TEntityManager>

Lightweight facade for entity component manipulation. 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...

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...

Functions Index

template <typename TEntityManager>
voidregisterComponents ()

Registers all lifecycle components with the ComponentReflector. More...

Variables Index

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, sparse-set storage, component lifecycle reflection, typed views and multi-domain entity worlds that are independent of any specific engine subsystem.

Functions

registerComponents()

template <typename TEntityManager>
void helios::ecs::registerComponents ()
inline

Registers all lifecycle components with the ComponentReflector.

Definition at line 19 of file registry.ixx.

19 inline void registerComponents() {
21
22 R::template registerType<HierarchyComponent>();
23 R::template registerType<Active>();
24 R::template registerType<Inactive>();
25 }

Variables

Tombstone

auto helios::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::ecs::SparseSet< T >::contains, helios::ecs::SparseSet< T >::emplace, helios::ecs::SparseSet< T >::get, helios::ecs::SparseSet< T >::get, helios::ecs::SparseSet< T >::insert and helios::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.