Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::RunConditionStorage Struct Reference

Storage for a run condition — predicate + access policy + local data. More...

#include <run_condition.hpp>

Public Member Functions

 RunConditionStorage ()=default
 RunConditionStorage (RunCondition condition, std::string cond_name, AccessPolicy policy, SystemLocalDataOptions options)
 Constructs storage from individual members and options.
 RunConditionStorage (const RunConditionStorage &)=delete
 RunConditionStorage (RunConditionStorage &&) noexcept=default
 ~RunConditionStorage () noexcept=default
RunConditionStorageoperator= (const RunConditionStorage &)=delete
RunConditionStorageoperator= (RunConditionStorage &&) noexcept=default

Static Public Member Functions

template<FunctorSystemTrait T>
static RunConditionStorage FromParam (T &&instance, SystemLocalDataOptions options={})
 Factory from a param-style run condition functor.
template<SystemTrait T>
static RunConditionStorage FromParamNamed (std::string name, T &&instance, SystemLocalDataOptions options={})
 Factory from a param-style run condition with an explicit name.
static RunConditionStorage From (RunCondition fn, AccessPolicy policy={}, SystemLocalDataOptions options={}, std::string name={})
 Factory from a raw predicate + explicit policy.

Public Attributes

RunCondition run_condition
std::string name
AccessPolicy access_policy
SystemLocalData local_data

Detailed Description

Storage for a run condition — predicate + access policy + local data.

Definition at line 24 of file run_condition.hpp.

Constructor & Destructor Documentation

◆ RunConditionStorage() [1/4]

helios::ecs::RunConditionStorage::RunConditionStorage ( )
default

◆ RunConditionStorage() [2/4]

helios::ecs::RunConditionStorage::RunConditionStorage ( RunCondition condition,
std::string cond_name,
AccessPolicy policy,
SystemLocalDataOptions options )
inline

Constructs storage from individual members and options.

Parameters
conditionRun condition callable
cond_nameHuman-readable name for the condition
policyAccess policy
optionsSystem local data options

Definition at line 89 of file run_condition.hpp.

◆ RunConditionStorage() [3/4]

helios::ecs::RunConditionStorage::RunConditionStorage ( const RunConditionStorage & )
delete

◆ RunConditionStorage() [4/4]

helios::ecs::RunConditionStorage::RunConditionStorage ( RunConditionStorage && )
defaultnoexcept

◆ ~RunConditionStorage()

helios::ecs::RunConditionStorage::~RunConditionStorage ( )
defaultnoexcept

Member Function Documentation

◆ From()

RunConditionStorage helios::ecs::RunConditionStorage::From ( RunCondition fn,
AccessPolicy policy = {},
SystemLocalDataOptions options = {},
std::string name = {} )
inlinestaticnodiscard

Factory from a raw predicate + explicit policy.

Parameters
fnPredicate function
policyAccess policy
optionsLocal data options
Returns
Run condition storage

Definition at line 82 of file run_condition.hpp.

◆ FromParam()

template<FunctorSystemTrait T>
auto helios::ecs::RunConditionStorage::FromParam ( T && instance,
SystemLocalDataOptions options = {} ) -> RunConditionStorage
inlinestaticnodiscard

Factory from a param-style run condition functor.

Accepts only functor structs; lambdas must use FromParamNamed.

Template Parameters
TRun condition type satisfying FunctorSystemTrait and returning bool
Parameters
conditionRun condition functor
optionsSystem local data options
Returns
RunConditionStorage

Definition at line 99 of file run_condition.hpp.

◆ FromParamNamed()

template<SystemTrait T>
auto helios::ecs::RunConditionStorage::FromParamNamed ( std::string name,
T && instance,
SystemLocalDataOptions options = {} ) -> RunConditionStorage
inlinestaticnodiscard

Factory from a param-style run condition with an explicit name.

Required for lambdas. Derives identity from the provided name.

Template Parameters
TRun condition type satisfying SystemTrait and returning bool
Parameters
nameHuman-readable name
conditionRun condition functor
optionsSystem local data options
Returns
RunConditionStorage

Definition at line 125 of file run_condition.hpp.

◆ operator=() [1/2]

RunConditionStorage & helios::ecs::RunConditionStorage::operator= ( const RunConditionStorage & )
delete

◆ operator=() [2/2]

RunConditionStorage & helios::ecs::RunConditionStorage::operator= ( RunConditionStorage && )
defaultnoexcept

Member Data Documentation

◆ access_policy

AccessPolicy helios::ecs::RunConditionStorage::access_policy

Definition at line 27 of file run_condition.hpp.

◆ local_data

SystemLocalData helios::ecs::RunConditionStorage::local_data

Definition at line 28 of file run_condition.hpp.

◆ name

std::string helios::ecs::RunConditionStorage::name

Definition at line 26 of file run_condition.hpp.

◆ run_condition

RunCondition helios::ecs::RunConditionStorage::run_condition

Definition at line 25 of file run_condition.hpp.