Skip to main content

Model Class Template

Typed wrapper that adapts a concrete system to the Concept interface. More...

Declaration

template <typename T> class helios::engine::runtime::world::System::Model<T> { ... }

Base class

classhelios::engine::runtime::world::System::Concept

Public Constructors Index

template <typename T>
Model (T sys)

Public Member Functions Index

template <typename T>
voidupdate (UpdateContext &updateContext) noexcept override
template <typename T>
voidinit (GameWorld &gameWorld) noexcept override
template <typename T>
void *underlying () noexcept override
template <typename T>
const void *underlying () const noexcept override

Private Member Attributes Index

template <typename T>
Tsystem_

Description

Typed wrapper that adapts a concrete system to the Concept interface.

Template Parameters
T

The concrete system type, must satisfy `HasUpdate<T>`.

Definition at line 65 of file System.ixx.

Public Constructors

Model()

template <typename T>
helios::engine::runtime::world::System::Model< T >::Model (T sys)
inline explicit

Definition at line 71 of file System.ixx.

71 explicit Model(T sys) : system_(std::move(sys)) {}

Public Member Functions

init()

template <typename T>
void helios::engine::runtime::world::System::Model< T >::init (GameWorld & gameWorld)
inline noexcept

Definition at line 76 of file System.ixx.

76 void init(GameWorld& gameWorld) noexcept override {
77 if constexpr (HasInit<T>) {
78 system_.init(gameWorld);
79 }
80 }

underlying()

template <typename T>
void * helios::engine::runtime::world::System::Model< T >::underlying ()
inline noexcept

Definition at line 82 of file System.ixx.

82 void* underlying() noexcept override {
83 return &system_;
84 }

underlying()

template <typename T>
const void * helios::engine::runtime::world::System::Model< T >::underlying ()
inline noexcept

Definition at line 86 of file System.ixx.

86 const void* underlying() const noexcept override {
87 return &system_;
88 }

update()

template <typename T>
void helios::engine::runtime::world::System::Model< T >::update (UpdateContext & updateContext)
inline noexcept

Definition at line 73 of file System.ixx.

73 void update(UpdateContext& updateContext) noexcept override {
74 system_.update(updateContext);
75 }

Private Member Attributes

system_

template <typename T>
T helios::engine::runtime::world::System::Model< T >::system_

Definition at line 66 of file System.ixx.

66 T system_;

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


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.