Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
Loading...
Searching...
No Matches
rtp::ecs Namespace Reference

File : RenderSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025. More...

Namespaces

namespace  components
 File : Ammo.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.
 

Classes

class  Entity
 Represents an entity in the ECS (Entity-Component-System) architecture. More...
 
class  ISparseArray
 Type-erased base interface for sparse arrays. More...
 
class  ISystem
 Abstract base class for all ECS systems. More...
 
class  Registry
 
class  SparseArray
 Sparse array container for component storage. More...
 
class  SystemManager
 
class  ZipView
 A view that iterates over entities possessing all specified components. More...
 

Concepts

concept  Component
 Concept for valid ECS component types.
 
concept  Serializable
 Concept for network-serializable components.
 
concept  System
 Concept defining the requirements for a System type.
 

Typedefs

template<typename From , typename To >
using ConstLike = std::conditional_t< std::is_const_v< std::remove_reference_t< From > >, std::add_const_t< To >, To >
 
template<typename From , typename To >
using ConstLikeRef = ConstLike< From, To > &
 
using Signature = std::bitset< MAX_COMPONENTS >
 Represents a signature for an entity's components in the ECS architecture.
 

Functions

std::size_t nextComponentID ()
 
template<typename T >
std::size_t getStaticComponentID ()
 

Variables

constexpr Entity NullEntity {}
 
constexpr size_t MAX_COMPONENTS = 64
 Maximum number of unique component types supported.
 

Detailed Description

File : RenderSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

File : SystemManager.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

Typedef Documentation

◆ ConstLike

template<typename From , typename To >
using rtp::ecs::ConstLike = typedef std::conditional_t<std::is_const_v<std::remove_reference_t<From> >, std::add_const_t<To>, To>

Definition at line 38 of file Registry.hpp.

◆ ConstLikeRef

template<typename From , typename To >
using rtp::ecs::ConstLikeRef = typedef ConstLike<From, To> &

Definition at line 43 of file Registry.hpp.

◆ Signature

Represents a signature for an entity's components in the ECS architecture.

A Signature is implemented as a bitset where each bit corresponds to a component type. If a bit is set to 1, it indicates that the entity possesses that component type; if set to 0, the entity does not have that component type. This allows for efficient tracking and querying of component compositions for entities within the ECS framework.

Signatures are also used by systems to specify which component combinations they operate on.

Definition at line 71 of file Signature.hpp.

Function Documentation

◆ getStaticComponentID()

template<typename T >
std::size_t rtp::ecs::getStaticComponentID ( )

Definition at line 87 of file ComponentConcept.hpp.

References nextComponentID().

◆ nextComponentID()

std::size_t rtp::ecs::nextComponentID ( )
inline

Definition at line 81 of file ComponentConcept.hpp.

Referenced by getStaticComponentID().

Variable Documentation

◆ MAX_COMPONENTS

constexpr size_t rtp::ecs::MAX_COMPONENTS = 64
constexpr

Maximum number of unique component types supported.

This limit applies to the total number of different component types that can be registered with the ECS.

Definition at line 55 of file Signature.hpp.

◆ NullEntity