Skip to main content

CallableSystem Class Template

ECS system that executes a stored lambda on each update. More...

Declaration​

template <typename THandle, typename TCommandBuffer, typename TFunc> class helios::engine::core::systems::CallableSystem<THandle, TCommandBuffer, TFunc> { ... }

Public Member Typedefs Index​

template <typename THandle, typename TCommandBuffer, typename TFunc>
usingCommandBuffer_type = TCommandBuffer
template <typename THandle, typename TCommandBuffer, typename TFunc>
usingEngineRoleTag = CallableSystemRole

Public Constructors Index​

template <typename THandle, typename TCommandBuffer, typename TFunc>
CallableSystem (TFunc lambda)

Creates the system from an update callback. More...

Public Member Functions Index​

template <typename THandle, typename TCommandBuffer, typename TFunc>
voidupdate (UpdateContext &updateContext, TCommandBuffer &commandBuffer) noexcept

Executes the stored callback for the current update step. More...

Private Member Attributes Index​

template <typename THandle, typename TCommandBuffer, typename TFunc>
TFunclambda_

Description​

ECS system that executes a stored lambda on each update.

Template Parameters
THandle

Handle type used by the surrounding system graph.

TFunc

lambda function type

Definition at line 69 of file CallableSystem.ixx.

Public Member Typedefs​

CommandBuffer_type​

template <typename THandle, typename TCommandBuffer, typename TFunc>
using helios::engine::core::systems::CallableSystem< THandle, TCommandBuffer, TFunc >::CommandBuffer_type = TCommandBuffer

Definition at line 75 of file CallableSystem.ixx.

EngineRoleTag​

template <typename THandle, typename TCommandBuffer, typename TFunc>
using helios::engine::core::systems::CallableSystem< THandle, TCommandBuffer, TFunc >::EngineRoleTag = CallableSystemRole

Definition at line 77 of file CallableSystem.ixx.

Public Constructors​

CallableSystem()​

template <typename THandle, typename TCommandBuffer, typename TFunc>
helios::engine::core::systems::CallableSystem< THandle, TCommandBuffer, TFunc >::CallableSystem (TFunc lambda)
inline explicit

Creates the system from an update callback.

Parameters
lambda

Callback executed in update.

Definition at line 83 of file CallableSystem.ixx.

83 explicit CallableSystem(TFunc lambda) : lambda_(std::move(lambda)) {}

Public Member Functions​

update()​

template <typename THandle, typename TCommandBuffer, typename TFunc>
void helios::engine::core::systems::CallableSystem< THandle, TCommandBuffer, TFunc >::update (UpdateContext & updateContext, TCommandBuffer & commandBuffer)
inline noexcept

Executes the stored callback for the current update step.

Parameters
updateContext

Runtime context of the engine update.

commandBuffer

Definition at line 91 of file CallableSystem.ixx.

91 void update(UpdateContext& updateContext, TCommandBuffer& commandBuffer) noexcept {
92 std::invoke(lambda_, updateContext, commandBuffer);
93 }

Reference helios::engine::core::registerComponents.

Private Member Attributes​

lambda_​

template <typename THandle, typename TCommandBuffer, typename TFunc>
TFunc helios::engine::core::systems::CallableSystem< THandle, TCommandBuffer, TFunc >::lambda_

Definition at line 71 of file CallableSystem.ixx.

71 TFunc lambda_;

The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.