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>
89 if (std::find(
sinks.begin(),
sinks.end(), a_eventSink) ==
sinks.end()) {
90 sinks.push_front(a_eventSink);
100 template <
class SinkEvent>
119 auto it = std::find(
sinks.begin(),
sinks.end(), a_eventSink);
120 if (it !=
sinks.end()) {
140 sinks.push_back(toAdd);
146 for (
auto& sink :
sinks) {
157 auto it = std::find(
sinks.begin(),
sinks.end(), toRemove);
158 if (it !=
sinks.end()) {
183 template <
class Event>
Definition BSAtomic.h:135
Definition BSTArray.h:378
Definition BSTEvent.h:185
virtual ~BSTEventSink()=default
virtual BSEventNotifyControl ProcessEvent(const Event *a_event, BSTEventSource< Event > *a_eventSource)=0
BSTEventSource()
Definition BSTEvent.h:23
std::uint16_t pad52
Definition BSTEvent.h:178
BSSpinLock lock
Definition BSTEvent.h:175
void PrependEventSink(BSTEventSink< SinkEvent > *a_sink)
Definition BSTEvent.h:101
void PrependEventSink(Sink *a_eventSink)
Definition BSTEvent.h:76
void SendEvent(const Event *a_event)
Definition BSTEvent.h:131
std::uint8_t pad51
Definition BSTEvent.h:177
void RemoveEventSink(Sink *a_eventSink)
Definition BSTEvent.h:106
void AddEventSink(Sink *a_eventSink)
Definition BSTEvent.h:34
std::uint32_t pad54
Definition BSTEvent.h:179
bool notifying
Definition BSTEvent.h:176
BSTArray< Sink * > sinks
Definition BSTEvent.h:172
BSTArray< Sink * > pendingRegisters
Definition BSTEvent.h:173
void operator()(const Event *a_event)
Definition BSTEvent.h:166
BSTArray< Sink * > pendingUnregisters
Definition BSTEvent.h:174
void AddEventSink(BSTEventSink< SinkEvent > *a_sink)
Definition BSTEvent.h:59
Definition AbsorbEffect.h:6
BSEventNotifyControl
Definition BSTEvent.h:12