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

Concept for systems that declare all data access via parameter types. More...

#include <system.hpp>

Concept definition

template<typename T>
concept SystemTrait =
std::destructible<T> &&
(std::move_constructible<T> || std::copy_constructible<T>) &&
!std::is_polymorphic_v<std::remove_cvref_t<T>> &&
std::is_object_v<std::remove_cvref_t<T>> &&
Concept for systems that declare all data access via parameter types.
Definition system.hpp:87

Detailed Description

Concept for systems that declare all data access via parameter types.

A system must be destructible, move or copy constructible, not polymorphic, an object type, and its operator() parameters must all have SystemParamTraits specialisations.

Definition at line 87 of file system.hpp.