LeviLamina
Loading...
Searching...
No Matches
Emitter.h
1
#pragma once
2
3
#include "ll/api/event/EmitterBase.h"
4
#include "ll/api/event/EventBus.h"
5
6
namespace
ll::event {
7
template
<auto F, std::derived_from<Event>... Ts>
8
class
Emitter
:
public
EmitterBase
{
9
static_assert
((std::is_final_v<Ts> && ...),
"Only final classes can be emitted"
);
10
11
static
inline
bool
reg = [] {
12
auto
& ins = EventBus::getInstance();
13
(ins.setEventEmitter<Ts>(F), ...);
14
return
true
;
15
}();
16
17
protected
:
18
Emitter
() =
default
;
19
~Emitter
()
override
=
default
;
20
};
21
}
// namespace ll::event
ll::event::EmitterBase
Definition
EmitterBase.h:4
ll::event::Emitter
Definition
Emitter.h:8
src
ll
api
event
Emitter.h
Generated on Sat Apr 26 2025 05:55:20 for LeviLamina by
1.12.0