#pragma once #include "common.hpp" #include "device.tmpl.hpp" namespace saw { /** * Represents a remote Sycl device. */ template<> class device final { private: public: device() = default; SAW_FORBID_COPY(device); SAW_FORBID_MOVE(device); template error_or copy_to_device(data& from, data>& to){ auto dev_data = to.get_device_data(); auto eov = impl::hip_copy_to_device::apply(from, dev_data); return eov; } template error_or copy_to_host(data>& from, data& to){ return make_error(); } }; }