39 #if defined(__CUDACC__) 40 #define __PCL_GPU_HOST_DEVICE__ __host__ __device__ __forceinline__ 42 #define __PCL_GPU_HOST_DEVICE__ 58 __PCL_GPU_HOST_DEVICE__
DevPtr() : data(nullptr) {}
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; }
68 __PCL_GPU_HOST_DEVICE__
PtrSz() : size(0) {}
69 __PCL_GPU_HOST_DEVICE__
PtrSz(T* data_arg, std::size_t size_arg) :
DevPtr<T>(data_arg), size(size_arg) {}
76 __PCL_GPU_HOST_DEVICE__
PtrStep() : step(0) {}
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]; }
91 __PCL_GPU_HOST_DEVICE__
PtrStepSz() : cols(0), rows(0) {}
92 __PCL_GPU_HOST_DEVICE__
PtrStepSz(
int rows_arg,
int cols_arg, T* data_arg, std::size_t step_arg)
93 :
PtrStep<T>(data_arg, step_arg), cols(cols_arg), rows(rows_arg) {}
108 #undef __PCL_GPU_HOST_DEVICE__
__PCL_GPU_HOST_DEVICE__ T & operator()(int y, int x)
This file defines compatibility wrappers for low level I/O functions.
__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)