コード例 #1
0
ファイル: container_invoker.hpp プロジェクト: ppknap/link
        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)));
        }