#pragma once namespace saw { namespace rmt { struct Network {}; } template<> class remote { private: std::string addr_str_; public: remote(std::string addr_str); conveyor> create_client(); }; template<> class rpc_client { private: own stream_; public: rpc_client(own stream); template remote_result::type> call(typename request::type req); }; }