19#include <cuspatial/cuda_utils.hpp>
20#include <cuspatial/traits.hpp>
22#include <thrust/detail/raw_reference_cast.h>
23#include <thrust/distance.h>
42template <
typename IteratorType>
45 using value_type = iterator_value_type<IteratorType>;
49 auto CUSPATIAL_HOST_DEVICE
begin() {
return _begin; }
51 auto CUSPATIAL_HOST_DEVICE
end() {
return _end; }
53 auto CUSPATIAL_HOST_DEVICE
size() {
return thrust::distance(_begin, _end); }
56 template <
typename IndexType>
59 return thrust::raw_reference_cast(_begin[i]);
Abstract Data Type (ADT) for any containers representable with a start and end iterator.
auto &CUSPATIAL_HOST_DEVICE operator[](IndexType i)
Access the ith element in the range.
auto CUSPATIAL_HOST_DEVICE end()
Return the end iterator to the range.
auto CUSPATIAL_HOST_DEVICE begin()
Return the start iterator to the range.
auto CUSPATIAL_HOST_DEVICE size()
Return the size of the range.