#pragma once #include #include namespace saw { namespace rmt { struct OpenCl {}; } template<> class remote { private: SAW_FORBID_COPY(remote); SAW_FORBID_MOVE(remote); public: remote_api(){} /* error_or create_remote(){ return remote{*this}; } */ }; template<> struct remote_address { private: remote_ctx* ctx_; SAW_FORBID_COPY(remote_address); SAW_FORBID_MOVE(remote_address); public: remote(remote_ctx& r_ctx): ctx_{&r_ctx} {} /* template error_or foo(); */ }; }