19   template <
typename... InputsT>
    25     void Call(InputsT... args)
 const {
    26       auto list = 
_list.Load();
    27       for (
auto &item : *list) {
    28         item.callback(args...);
    35       _list.Push(Item{id, std::move(callback)});
    40       _list.DeleteByValue(
id);
    54         return lhs.
id == rhs.
id;
 size_t Push(CallbackType &&callback)
 
void Call(InputsT... args) const
 
Holds an atomic pointer to a list. 
 
friend bool operator==(size_t lhs, const Item &rhs)
 
This file contains definitions of common data structures used in traffic manager. ...
 
#define DEBUG_ASSERT(predicate)
 
std::function< void(InputsT...)> CallbackType
 
std::atomic_size_t _counter
 
friend bool operator==(const Item &lhs, size_t rhs)
 
friend bool operator==(const Item &lhs, const Item &rhs)
 
Inherit (privately) to suppress copy/move construction and assignment.