Fixed-size container for a single event. More...
#include <Event.h>
Public Member Functions | |
| template<typename T> requires (DerivedFrom<Event, T>) | |
| constexpr void | Set (const T &event) noexcept |
| Sets the payload of this slot to the given event. | |
| template<typename T> requires (DerivedFrom<Event, T>) | |
| constexpr T & | As () noexcept |
| Casts the payload to the given event type. | |
| template<typename T> requires (DerivedFrom<Event, T>) | |
| constexpr const T & | As () const noexcept |
| Casts the payload to the given event type (const version). | |
| template<typename T> requires (DerivedFrom<Event, T>) | |
| constexpr bool | Is () const noexcept |
| Checks if the slot contains an event of the given type. | |
| constexpr bool | InCategory (u8 cat) const noexcept |
| Checks if the event belongs to the given category. | |
Public Attributes | |
| u8 | Type |
| Event type identifier. | |
| u8 | Category |
| Event category bitmask. | |
| cw_byte | Padding [14] |
| Padding to align Payload on 16-byte boundary. | |
| cw_byte | Payload [MaxEventPayloadSize] |
| Raw storage for event data. | |
Fixed-size container for a single event.
This structure stores an event's type, category, and raw payload in a tightly-packed, SIMD-aligned layout. Designed for zero-heap, high-performance event queues.
|
inlineconstexprnoexcept |
Casts the payload to the given event type (const version).
| T | Event type to cast to. |
|
inlineconstexprnoexcept |
Casts the payload to the given event type.
| T | Event type to cast to. |
|
inlineconstexprnoexcept |
Checks if the event belongs to the given category.
| cat | Category bitmask to check. |
|
inlineconstexprnoexcept |
Checks if the slot contains an event of the given type.
| T | Event type to check. |
|
inlineconstexprnoexcept |
| u8 Raven::EventSlot::Category |
Event category bitmask.
| cw_byte Raven::EventSlot::Padding[14] |
Padding to align Payload on 16-byte boundary.
| cw_byte Raven::EventSlot::Payload[MaxEventPayloadSize] |
Raw storage for event data.
| u8 Raven::EventSlot::Type |
Event type identifier.