#pragma once #include "store_handler.h" #include namespace caffe2 { class StoreSetOp final : public Operator { public: StoreSetOp(const OperatorDef& operator_def, Workspace* ws); bool RunOnDevice() override; private: std::string blobName_; INPUT_TAGS(HANDLER, DATA); }; class StoreGetOp final : public Operator { public: StoreGetOp(const OperatorDef& operator_def, Workspace* ws); bool RunOnDevice() override; private: std::string blobName_; INPUT_TAGS(HANDLER); OUTPUT_TAGS(DATA); }; class StoreAddOp final : public Operator { public: StoreAddOp(const OperatorDef& operator_def, Workspace* ws); bool RunOnDevice() override; private: std::string blobName_; int addValue_; INPUT_TAGS(HANDLER); OUTPUT_TAGS(VALUE); }; class StoreWaitOp final : public Operator { public: StoreWaitOp(const OperatorDef& operator_def, Workspace* ws); bool RunOnDevice() override; private: std::vector blobNames_; INPUT_TAGS(HANDLER); }; }