#pragma once #include "common.hpp" namespace saw { /** * Generic wrapper class which stores data on the sycl side. * Most of the times this will be a root object. */ template class data { private: cl::sycl::buffer> data_; public: data(data& data__): data_{&data__, 1u} {} auto& get_handle() { return data_; } template auto access(cl::sycl::handler& h){ return data_.template get_access(h); } }; }