20 template <
typename... InputsT>
28 void Call(InputsT... args)
const {
29 auto list =
_list.Load();
30 for (
auto &item : *list) {
31 item.callback(args...);
40 _list.Push(
Item{id, std::move(callback)});
45 _list.DeleteByValue(
id);
59 return lhs.
id == rhs.
id;
#define DEBUG_ASSERT(predicate)
void Call(InputsT... args) const
size_t Push(CallbackType &&callback)
std::atomic_size_t _counter
std::function< void(InputsT...)> CallbackType
friend bool operator==(size_t lhs, const Item &rhs)
friend bool operator==(const Item &lhs, size_t rhs)
friend bool operator==(const Item &lhs, const Item &rhs)