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

Concept for valid message types. More...

#include <message.hpp>

Concept definition

template<typename T>
concept MessageTrait =
std::destructible<T> &&
(std::move_constructible<T> || std::copy_constructible<T>) &&
std::is_object_v<std::remove_cvref_t<T>> &&
!std::is_polymorphic_v<std::remove_cvref_t<T>> && requires {
requires !requires { requires std::remove_cvref_t<T>::kAsync; };
}
Concept for valid message types.
Definition message.hpp:29

Detailed Description

Concept for valid message types.

A message must be destructible, move or copy constructible, not polymorphic, be an object, and have a static constexpr bool kAsync variable set to false or not defined.

Definition at line 29 of file message.hpp.