void receive(std::size_t sid, Args&&... args) const { curr_val_[sid] = value_type(args...); if (curr_val_.size() != bundle_->lpipes_count()) { return; } argument_type container; std::for_each( std::make_move_iterator(std::begin(curr_val_)), std::make_move_iterator(std::end(curr_val_)), [&container](auto&& pair) { container.push_back(std::move(pair.second)); }); curr_val_.clear(); bundle_->send(bundle_->invoke(std::move(container))); }