18#include <cuspatial/cuda_utils.hpp>
19#include <cuspatial/detail/range/enumerate_range.cuh>
28template <
typename VecIterator>
55 template <
typename IndexType>
56 CUSPATIAL_HOST_DEVICE
auto segment(IndexType segment_idx)
const;
59 VecIterator _point_begin;
60 VecIterator _point_end;
65#include <cuspatial/detail/geometry/linestring_ref.cuh>
Represent a reference to a linestring stored in a structure of arrays.
CUSPATIAL_HOST_DEVICE auto point_end() const
Return iterator to one past the last point.
CUSPATIAL_HOST_DEVICE auto num_segments() const
Return the number of segments in the linestring.
CUSPATIAL_HOST_DEVICE auto end() const
Return iterator to one past the last segment.
CUSPATIAL_HOST_DEVICE auto segment(IndexType segment_idx) const
Return the segment_idxth segment in the linestring.
CUSPATIAL_HOST_DEVICE auto segment_begin() const
Return iterator to the first segment of the linestring.
CUSPATIAL_HOST_DEVICE auto point_begin() const
Return iterator to the first point of the linestring.
CUSPATIAL_HOST_DEVICE auto begin() const
Return iterator to the first segment of the linestring.
CUSPATIAL_HOST_DEVICE auto segment_end() const
Return iterator to one past the last segment.
CUSPATIAL_HOST_DEVICE auto enumerate()
Return an enumerated range to the segments.