Skip to main content

ecs Namespace

Definition

namespace helios::ecs { ... }

Namespaces Index

namespacecomponents
namespaceconcepts
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<TDomainTag, 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...

classPartialView<TEntityManager, TRequiredComponents, TOptionalComponents>

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

classPartialView<TEntityManager, std::tuple< TRequired... >, std::tuple< TOptional... >>
classSparseSet<T>

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

classSparseSetBase

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

classTypedHandleWorld<TEntityManagers>

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

classTypeIndexer<Group>

Utility class to generate unique type indices at runtime. More...

Typedefs Index

template <typename TEntityManager, typename... TRequired>
usingView = PartialView< TEntityManager, std::tuple< TRequired... >, std::tuple<> >

Convenience alias for a view with required components only. 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...

Typedefs

View

template <typename TEntityManager, typename... TRequired>
using helios::ecs::View = typedef PartialView<TEntityManager, std::tuple<TRequired...>, std::tuple<> >

Convenience alias for a view with required components only.

Optional components can be attached fluently via withOptional<...>().

Template Parameters
TEntityManager

Concrete entity manager type.

TRequired

Required component types that must be present.

Definition at line 64 of file View.ixx.

64 using View = PartialView<TEntityManager, std::tuple<TRequired...>, std::tuple<>>;

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<typename TEntityManager::Handle_type>>();
23 R::template registerType<Active<typename TEntityManager::Handle_type>>();
24 R::template registerType<Inactive<typename TEntityManager::Handle_type>>();
25 }

Variables

Tombstone

constexpr auto helios::ecs::Tombstone = EntityTombstone
constexpr

The documentation for this namespace was generated from the following files:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.