26 template <
class Event>
56 if (std::find(
sinks.begin(),
sinks.end(), a_eventSink) ==
sinks.end()) {
57 sinks.push_back(a_eventSink);
80 auto it = std::find(
sinks.begin(),
sinks.end(), a_eventSink);
81 if (it !=
sinks.end()) {
101 sinks.push_back(toAdd);
107 for (
auto& sink :
sinks) {
118 auto it = std::find(
sinks.begin(),
sinks.end(), toRemove);
119 if (it !=
sinks.end()) {
144 template <
class Event>
Definition: BSAtomic.h:92
Definition: BSAtomic.h:49
Definition: BSTArray.h:377
Definition: BSTEvent.h:146
virtual ~BSTEventSink()=default
virtual BSEventNotifyControl ProcessEvent(const Event *a_event, BSTEventSource< Event > *a_eventSource)=0
Definition: BSTEvent.h:28
BSTEventSource()
Definition: BSTEvent.h:32
std::uint16_t pad52
Definition: BSTEvent.h:139
BSSpinLock lock
Definition: BSTEvent.h:136
void SendEvent(const Event *a_event)
Definition: BSTEvent.h:92
std::uint8_t pad51
Definition: BSTEvent.h:138
void RemoveEventSink(Sink *a_eventSink)
Definition: BSTEvent.h:67
void AddEventSink(Sink *a_eventSink)
Definition: BSTEvent.h:43
std::uint32_t pad54
Definition: BSTEvent.h:140
bool notifying
Definition: BSTEvent.h:137
BSTArray< Sink * > sinks
Definition: BSTEvent.h:133
BSTArray< Sink * > pendingRegisters
Definition: BSTEvent.h:134
void operator()(const Event *a_event)
Definition: BSTEvent.h:127
BSTArray< Sink * > pendingUnregisters
Definition: BSTEvent.h:135
Definition: AbsorbEffect.h:6
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSTEvent.h:18
ForEachResult
Definition: BSTEvent.h:20