37 #include <cugar/basic/types.h> 38 #include <thrust/iterator/iterator_categories.h> 40 #if defined(__CUDACC__) 47 struct iterator_traits<const _Ty * __restrict__>
49 typedef random_access_iterator_tag iterator_category;
50 typedef _Ty value_type;
51 typedef ptrdiff_t difference_type;
53 typedef const _Ty* __restrict__ pointer;
54 typedef const _Ty& reference;
66 typedef std::input_iterator_tag input_host_iterator_tag;
67 typedef std::output_iterator_tag output_host_iterator_tag;
68 typedef std::forward_iterator_tag forward_host_iterator_tag;
69 typedef std::bidirectional_iterator_tag bidirectional_host_iterator_tag;
70 typedef std::random_access_iterator_tag random_access_host_iterator_tag;
72 typedef thrust::input_device_iterator_tag input_device_iterator_tag;
73 typedef thrust::output_device_iterator_tag output_device_iterator_tag;
74 typedef thrust::forward_device_iterator_tag forward_device_iterator_tag;
75 typedef thrust::bidirectional_device_iterator_tag bidirectional_device_iterator_tag;
76 typedef thrust::random_access_device_iterator_tag random_access_device_iterator_tag;
78 typedef thrust::input_universal_iterator_tag input_universal_iterator_tag;
79 typedef thrust::output_universal_iterator_tag output_universal_iterator_tag;
80 typedef thrust::forward_universal_iterator_tag forward_universal_iterator_tag;
81 typedef thrust::bidirectional_universal_iterator_tag bidirectional_universal_iterator_tag;
82 typedef thrust::random_access_universal_iterator_tag random_access_universal_iterator_tag;
101 template <
typename iterator>
104 typedef typename std::iterator_traits<iterator>::iterator_category iterator_category;
110 template <
typename T>
113 typedef typename std::iterator_traits<T>::iterator_category iterator_category;
114 typedef typename std::iterator_traits<T>::value_type value_type;
115 typedef typename std::iterator_traits<T>::difference_type difference_type;
116 typedef typename std::iterator_traits<T>::pointer pointer;
117 typedef typename std::iterator_traits<T>::reference reference;
Definition: shared_pointer.h:646
T forward_iterator
add forward iterator conversion
Definition: iterator.h:118
Define a vector_view POD type and plain_view() for std::vector.
Definition: diff.h:38
Definition: iterator.h:84
Definition: iterator.h:111
Definition: iterator.h:102