31 #ifndef SRC_VAULT_GEAR_ENGINE_OBSERVER_H_ 32 #define SRC_VAULT_GEAR_ENGINE_OBSERVER_H_ 62 static size_t constexpr RAW_SIZ = 3;
63 using Storage = std::array<int64_t, RAW_SIZ>;
68 static_assert (
sizeof(DAT) <= RAW_SIZ *
sizeof(int64_t));
74 Payload (DAT
const& d) : data{d} { }
75 Payload (DAT && dr) : data{move(dr)} { }
79 DAT
const& operator= (DAT
const& d) { data = d;
return data; }
80 DAT
const& operator= (DAT && dr) { data = move(dr);
return data; }
82 operator Storage&() {
return raw; }
83 operator Storage&&() {
return move(raw); }
89 , storage_{move (payload)}
94 : message{Symbol::BOTTOM}
Low-level Render Engine event — abstracted storage base.
Memory management scheme for activities and parameter data passed through the Scheduler within the Lu...
Any copy and copy construction prohibited.
Layer-1 of the Scheduler: queueing and prioritisation of activities.
Token or Atom with distinct identity.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.
Layer-2 of the Scheduler: coordination and interaction of activities.
Lumiera error handling (C++ interface).
EngineEvent(Symbol msgID, Storage &&payload)
base init for derived classes to implant custom payload
Vault-Layer implementation namespace root.
Collector and aggregator for performance data.