11
12
13
14template <
typename... CallableArgs>
18 using CallableFunction = std::function<
void(CallableArgs...)>;
19 using Subscriber = std::shared_ptr<CallableFunction>;
21 void notify(CallableArgs... args)
23 for(size_t i = 0; i < subscribers_.size();)
25 if(
auto sub = subscribers_[i].lock())
32 subscribers_.erase(subscribers_.begin() + i);
37 Subscriber subscribe(CallableFunction func)
39 Subscriber sub = std::make_shared<CallableFunction>(std::move(func));
40 subscribers_.emplace_back(sub);
45 std::vector<std::weak_ptr<CallableFunction>> subscribers_;
Definition: action_node.h:24