Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
message.hpp File Reference
#include <helios/utils/type_info.hpp>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <string_view>
#include <type_traits>

Go to the source code of this file.

Namespaces

namespace  helios
namespace  helios::ecs

Concepts

concept  helios::ecs::MessageTrait
 Concept for valid message types.
concept  helios::ecs::AsyncMessageTrait
 Concept for valid async message types.
concept  helios::ecs::AnyMessageTrait
 Concept for any valid message type.
concept  helios::ecs::MessageWithNameTrait
 Concept for messages with custom names.
concept  helios::ecs::MessageWithClearPolicy
 Concept for messages with custom clear policy.
concept  helios::ecs::ConsumableMessageTrait
 Concept for consumable message types.

Typedefs

using helios::ecs::MessageTypeIndex = utils::TypeIndex
 Type index for messages.

Enumerations

enum class  helios::ecs::MessageClearPolicy : uint8_t { helios::ecs::kAutomatic , helios::ecs::kManual }
 Policy for message clearing behavior. More...

Functions

template<AnyMessageTrait T>
constexpr std::string_view helios::ecs::MessageNameOf () noexcept
 Gets the name of an message.
template<AnyMessageTrait T>
constexpr std::string_view helios::ecs::MessageNameOf (const T &) noexcept
 Gets the name of an message.
template<AnyMessageTrait T>
consteval MessageClearPolicy helios::ecs::MessageClearPolicyOf () noexcept
 Gets the clear policy of an message.
template<AnyMessageTrait T>
consteval MessageClearPolicy helios::ecs::MessageClearPolicyOf (const T &) noexcept
 Gets the clear policy of an message.