39 #if defined(__CUDACC__) 40 #define __PCL_GPU_HOST_DEVICE__ __host__ __device__ __forceinline__ 42 #define __PCL_GPU_HOST_DEVICE__ 59 __PCL_GPU_HOST_DEVICE__
DevPtr(T* data_arg) :
data(data_arg) {}
62 __PCL_GPU_HOST_DEVICE__
operator T*() {
return data; }
63 __PCL_GPU_HOST_DEVICE__
operator const T*()
const {
return data; }
69 __PCL_GPU_HOST_DEVICE__
PtrSz(T* data_arg, std::size_t size_arg) :
DevPtr<T>(data_arg),
size(size_arg) {}
77 __PCL_GPU_HOST_DEVICE__
PtrStep(T* data_arg, std::size_t step_arg) :
DevPtr<T>(data_arg),
step(step_arg) {}
83 __PCL_GPU_HOST_DEVICE__
const T*
ptr(
int y = 0)
const {
return (
const T*)( (
const char*)
DevPtr<T>::data + y *
step); }
85 __PCL_GPU_HOST_DEVICE__ T&
operator()(
int y,
int x) {
return ptr(y)[x]; }
86 __PCL_GPU_HOST_DEVICE__
const T&
operator()(
int y,
int x)
const {
return ptr(y)[x]; }
92 __PCL_GPU_HOST_DEVICE__
PtrStepSz(
int rows_arg,
int cols_arg, T* data_arg, std::size_t step_arg)
108 #undef __PCL_GPU_HOST_DEVICE__
__PCL_GPU_HOST_DEVICE__ T & operator()(int y, int x)
__PCL_GPU_HOST_DEVICE__ PtrStepSz()
__PCL_GPU_HOST_DEVICE__ const T & operator()(int y, int x) const
__PCL_GPU_HOST_DEVICE__ PtrSz(T *data_arg, std::size_t size_arg)
__PCL_GPU_HOST_DEVICE__ const T * ptr(int y=0) const
__PCL_GPU_HOST_DEVICE__ DevPtr(T *data_arg)
__PCL_GPU_HOST_DEVICE__ PtrSz()
__PCL_GPU_HOST_DEVICE__ DevPtr()
__PCL_GPU_HOST_DEVICE__ PtrStep(T *data_arg, std::size_t step_arg)
static const std::size_t elem_size
__PCL_GPU_HOST_DEVICE__ std::size_t elemSize() const
std::size_t step
stride between two consecutive rows in bytes.
__PCL_GPU_HOST_DEVICE__ PtrStep()
__PCL_GPU_HOST_DEVICE__ T * ptr(int y=0)
__PCL_GPU_HOST_DEVICE__ PtrStepSz(int rows_arg, int cols_arg, T *data_arg, std::size_t step_arg)