Skip to main content

helios::ecs API Reference

Generic ECS primitives for the helios module ecosystem.

Overview

helios::ecs provides reusable C++23 building blocks for entity identity, component storage, lifecycle reflection, and typed queries. It is used by higher-level helios modules that need strongly typed entity domains and compact component storage and can be used as a standalone ECS-implementation with other projects that require high performance for real-time applications.

Features

  • Versioned, strongly typed entity handles via EntityHandle<TStrongId>
  • Configurable entity registries with strong-id collision tracking
  • Sparse-set component storage with dense iteration
  • Typed entity/component views with filtering helpers
  • Trait-based component lifecycle reflection
  • Multi-domain world composition with TypedHandleWorld

Module surface

AreaPublic API
Entity managementEntityHandle, EntityRegistry, EntityManager, Entity, EntityResolver, TypedHandleWorld
Component metadataComponentTypeId, ComponentOps, ComponentOpsRegistry, ComponentReflector
Storage/querySparseSet, View
Lookup strategiesHashedLookupStrategy, LinearLookupStrategy
Concepts/traitsECS constraints and lifecycle hook detection traits

Usage

C++ module

 import helios.ecs;

CMake

When used as a subdirectory, link against the exported target:

 add_subdirectory(path/to/helios-ecs)
 target_link_libraries(your_target PRIVATE helios::ecs)

Development

Build the project:

 cmake -S . -B build
 cmake --build build

Run tests when test discovery is enabled:

 ctest --test-dir build --output-on-failure

Related repositories


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.