Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::CompositeSystemParam< Param, Fields > Struct Template Reference

Helper for implementing SystemParamTraits on aggregate parameters. More...

#include <composite_param.hpp>

Static Public Member Functions

static Param Make (World &world, SystemLocalData &data, const AccessPolicy &policy)
 Constructs the aggregate from each field's Make.
static constexpr void RegisterAccess (AccessPolicyBuilder &builder)
 Registers access for all fields.

Detailed Description

template<typename Param, typename... Fields>
struct helios::ecs::CompositeSystemParam< Param, Fields >

Helper for implementing SystemParamTraits on aggregate parameters.

Inherit from this type in a SystemParamTraits specialization when every field is itself a system parameter. Field types in Fields... must match the aggregate's member types exactly.

Template Parameters
ParamAggregate parameter type
FieldsSystem parameter types for each aggregate field, in order

Definition at line 18 of file composite_param.hpp.

Member Function Documentation

◆ Make()

template<typename Param, typename... Fields>
Param helios::ecs::CompositeSystemParam< Param, Fields >::Make ( World & world,
SystemLocalData & data,
const AccessPolicy & policy )
inlinestatic

Constructs the aggregate from each field's Make.

Parameters
worldWorld instance
dataPer-system local data
policyCompiled access policy for the system
Returns
Constructed aggregate parameter

Definition at line 26 of file composite_param.hpp.

◆ RegisterAccess()

template<typename Param, typename... Fields>
constexpr void helios::ecs::CompositeSystemParam< Param, Fields >::RegisterAccess ( AccessPolicyBuilder & builder)
inlinestaticconstexpr

Registers access for all fields.

Parameters
builderAccess policy builder

Definition at line 35 of file composite_param.hpp.