3 #include <cuda_runtime.h> 4 #include <cuda_runtime_api.h> 5 #include <muda/buffer/var_view.h> 13 friend class BufferLaunch;
20 DeviceVar(
const T& value);
22 DeviceVar(
const DeviceVar& other);
23 DeviceVar(DeviceVar&& other) MUDA_NOEXCEPT;
24 DeviceVar& operator=(
const DeviceVar<T>& other);
25 DeviceVar& operator=(DeviceVar<T>&& other);
29 DeviceVar& operator=(CVarView<T> other);
30 void copy_from(CVarView<T> other);
32 DeviceVar& operator=(
const T& val);
35 T* data() MUDA_NOEXCEPT {
return m_data; }
36 const T* data() const MUDA_NOEXCEPT {
return m_data; }
38 VarView<T> view() MUDA_NOEXCEPT {
return VarView<T>{m_data}; };
39 CVarView<T> view() const MUDA_NOEXCEPT {
return CVarView<T>{m_data}; };
41 operator VarView<T>() MUDA_NOEXCEPT {
return view(); }
42 operator CVarView<T>()
const MUDA_NOEXCEPT {
return view(); }
44 Dense<T> viewer() MUDA_NOEXCEPT;
45 CDense<T> cviewer() const MUDA_NOEXCEPT;
51 #include "details/device_var.inl"