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.