Всем привет!
подскажите как можно сделать что-то подобное на это:
struct for_reciver_1 {int data;};
struct for_reciver_2 {int data; int error_code;};
template<class VALUE>
struct reciver_t
{
std::map<int, VALUE> m;
void add_data(int data)
{
m.insert(std::make_pair(data, VALUE()));
}
};
struct sender_t
{
std::map<reciver_t*, int> m;
void add_recv(reciver_t *r, int i)
{
m.insert(std::make_pair(r,i));
}
void update_recv_list()
{
// функция перевыполняясь в отдельном потоке, периодически отправляет reciver'ам данные
while (true)
for (auto &it : m)
it.first->add_data(it.second);
}
};
int main()
{
sender_t sender;
reciver_t<for_reciver_1> reciver_1;
reciver_t<for_reciver_2> reciver_2;
sender.add_recv(&reciver_1, 1);
sender.add_recv(&reciver_2, 2);
sender.update_recv_list();
}
но чтобы работало?
c++14 приветствуется.
Спасибо!