37 #ifndef PCL_GPU_CONTAINER_DEVICE_ARRAY_IMPL_HPP_
38 #define PCL_GPU_CONTAINER_DEVICE_ARRAY_IMPL_HPP_
48 { DeviceMemory::operator=(other);
return *
this; }
51 { DeviceMemory::create(size * elem_size); }
53 { DeviceMemory::release(); }
56 { DeviceMemory::copyTo(other); }
58 { DeviceMemory::upload(host_ptr, size * elem_size); }
60 { DeviceMemory::download( host_ptr ); }
72 template<
class T>
template<
class A>
inline void pcl::gpu::DeviceArray<T>::download(std::vector<T, A>& data)
const { data.resize(size());
if (!data.empty()) download(&data[0]); }
81 { DeviceMemory2D::operator=(other);
return *
this; }
84 { DeviceMemory2D::create(rows, cols * elem_size); }
86 { DeviceMemory2D::release(); }
89 { DeviceMemory2D::copyTo(other); }
91 { DeviceMemory2D::upload(host_ptr, host_step, rows, cols * elem_size); }
93 { DeviceMemory2D::download( host_ptr, host_step ); }
96 { upload(&data[0], cols * elem_size, data.size()/cols, cols); }
99 { elem_step = cols(); data.resize(cols() * rows());
if (!data.empty()) download(&data[0], colsBytes()); }