Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > > Struct Template Reference

Specialization for thrust iterators conforming to contiguous_iterator. (including raw pointer) More...

Public Types

using element_t = typename std::iterator_traits<Iter>::value_type
 
using value_type = vec_2d<element_t>
 

Public Member Functions

constexpr interleaved_to_vec_2d (Iter it)
 
CUSPATIAL_HOST_DEVICE value_type operator() (std::size_t i)
 

Public Attributes

element_t const * ptr
 

Detailed Description

template<typename Iter>
struct cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >

Specialization for thrust iterators conforming to contiguous_iterator. (including raw pointer)

This iterator specific version uses vectorized load.

Exceptions
cuspatial::logic_errorif Iter is not aligned to type vec_2d<T>
Precondition
Iter is a contiguous_iterator (including raw pointer).

Definition at line 133 of file iterator_factory.cuh.

Member Typedef Documentation

◆ element_t

template<typename Iter >
using cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >::element_t = typename std::iterator_traits<Iter>::value_type

Definition at line 135 of file iterator_factory.cuh.

◆ value_type

template<typename Iter >
using cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >::value_type = vec_2d<element_t>

Definition at line 136 of file iterator_factory.cuh.

Constructor & Destructor Documentation

◆ interleaved_to_vec_2d()

template<typename Iter >
constexpr cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >::interleaved_to_vec_2d ( Iter it)
inlineconstexpr

Definition at line 140 of file iterator_factory.cuh.

Member Function Documentation

◆ operator()()

template<typename Iter >
CUSPATIAL_HOST_DEVICE value_type cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >::operator() ( std::size_t i)
inline

Definition at line 146 of file iterator_factory.cuh.

Member Data Documentation

◆ ptr

template<typename Iter >
element_t const* cuspatial::detail::interleaved_to_vec_2d< Iter, typename std::enable_if_t< thrust::is_contiguous_iterator_v< Iter > > >::ptr

Definition at line 138 of file iterator_factory.cuh.


The documentation for this struct was generated from the following file: