18 #ifndef viskores_internal_ArrayPortalBasic_h
19 #define viskores_internal_ArrayPortalBasic_h
27 #endif // VISKORES_CUDA
52 VISKORES_EXEC_CONT static inline void ArrayPortalBasicWriteSet(T* data,
const T& value)
60 class ArrayPortalBasicRead
62 const T* Array =
nullptr;
75 return detail::ArrayPortalBasicReadGet(this->Array + index);
81 return this->Array + this->NumberOfValues;
86 ArrayPortalBasicRead() =
default;
87 ArrayPortalBasicRead(ArrayPortalBasicRead&&) =
default;
88 ArrayPortalBasicRead(
const ArrayPortalBasicRead&) =
default;
89 ArrayPortalBasicRead& operator=(ArrayPortalBasicRead&&) =
default;
90 ArrayPortalBasicRead& operator=(
const ArrayPortalBasicRead&) =
default;
94 , NumberOfValues(numberOfValues)
100 class ArrayPortalBasicWrite
115 return detail::ArrayPortalBasicWriteGet(this->Array + index);
123 detail::ArrayPortalBasicWriteSet(this->Array + index, value);
129 return this->Array + this->NumberOfValues;
134 ArrayPortalBasicWrite() =
default;
135 ArrayPortalBasicWrite(ArrayPortalBasicWrite&&) =
default;
136 ArrayPortalBasicWrite(
const ArrayPortalBasicWrite&) =
default;
137 ArrayPortalBasicWrite& operator=(ArrayPortalBasicWrite&&) =
default;
138 ArrayPortalBasicWrite& operator=(
const ArrayPortalBasicWrite&) =
default;
142 , NumberOfValues(numberOfValues)
149 #endif //viskores_internal_ArrayPortalBasic_h