История изменений
Исправление xaizek, (текущая версия) :
Мне кажется, что если принимать не F
, а список аргументов, то use
можно присвоить лямбду в конструкторе, которая обходит детей. Что-то вроде:
template <typename... Args>
struct Sender {
std::function<void(Args...)> use;
std::vector<Receptor<std::function<void(Args...)>*> list_use;
Sender();
}
template <typename... Args>
Sender::Sender()
{
use = [this](Args &&...args) {
for (auto &receptor : list_use) {
receptor.process(args...);
}
};
}
Исходная версия xaizek, :
Мне кажется, что если принимать не F
а список аргументов, то use
можно присвоить лямбду в конструкторе, которая обходит детей. Что-то вроде:
template <typename... Args>
struct Sender {
std::function<void(Args...)> use;
std::vector<Receptor<std::function<void(Args...)>*> list_use;
Sender();
}
template <typename... Args>
Sender::Sender()
{
use = [this](Args &&...args) {
for (auto &receptor : list_use) {
receptor.process(args...);
}
};
}