17 template <
class Event>
47 if (std::find(
sinks.begin(),
sinks.end(), a_eventSink) ==
sinks.end()) {
48 sinks.push_back(a_eventSink);
58 template <
class SinkEvent>
77 auto it = std::find(
sinks.begin(),
sinks.end(), a_eventSink);
78 if (it !=
sinks.end()) {
98 sinks.push_back(toAdd);
104 for (
auto& sink :
sinks) {
115 auto it = std::find(
sinks.begin(),
sinks.end(), toRemove);
116 if (it !=
sinks.end()) {
141 template <
class Event>
Definition: BSAtomic.h:135
Definition: BSAtomic.h:92
Definition: BSTArray.h:378
Definition: BSTEvent.h:143
virtual ~BSTEventSink()=default
virtual BSEventNotifyControl ProcessEvent(const Event *a_event, BSTEventSource< Event > *a_eventSource)=0
Definition: BSTEvent.h:19
BSTEventSource()
Definition: BSTEvent.h:23
std::uint16_t pad52
Definition: BSTEvent.h:136
BSSpinLock lock
Definition: BSTEvent.h:133
void SendEvent(const Event *a_event)
Definition: BSTEvent.h:89
std::uint8_t pad51
Definition: BSTEvent.h:135
void RemoveEventSink(Sink *a_eventSink)
Definition: BSTEvent.h:64
void AddEventSink(Sink *a_eventSink)
Definition: BSTEvent.h:34
std::uint32_t pad54
Definition: BSTEvent.h:137
bool notifying
Definition: BSTEvent.h:134
BSTArray< Sink * > sinks
Definition: BSTEvent.h:130
BSTArray< Sink * > pendingRegisters
Definition: BSTEvent.h:131
void operator()(const Event *a_event)
Definition: BSTEvent.h:124
BSTArray< Sink * > pendingUnregisters
Definition: BSTEvent.h:132
void AddEventSink(BSTEventSink< SinkEvent > *a_sink)
Definition: BSTEvent.h:59
Definition: AbsorbEffect.h:6
BSEventNotifyControl
Definition: BSTEvent.h:12