@@ -33,27 +33,36 @@ template<typename Iterator>
33
33
typedef typename thrust::iterator_traits<Iterator>::value_type type;
34
34
}; // end iterator_value
35
35
36
+ template <typename Iterator>
37
+ using iterator_value_t = typename iterator_value<Iterator>::type;
36
38
37
39
template <typename Iterator>
38
40
struct iterator_pointer
39
41
{
40
42
typedef typename thrust::iterator_traits<Iterator>::pointer type;
41
43
}; // end iterator_pointer
42
44
45
+ template <typename Iterator>
46
+ using iterator_pointer_t = typename iterator_pointer<Iterator>::type;
43
47
44
48
template <typename Iterator>
45
49
struct iterator_reference
46
50
{
47
51
typedef typename iterator_traits<Iterator>::reference type;
48
52
}; // end iterator_reference
49
53
54
+ template <typename Iterator>
55
+ using iterator_reference_t = typename iterator_reference<Iterator>::type;
50
56
51
57
template <typename Iterator>
52
58
struct iterator_difference
53
59
{
54
60
typedef typename thrust::iterator_traits<Iterator>::difference_type type;
55
61
}; // end iterator_difference
56
62
63
+ template <typename Iterator>
64
+ using iterator_difference_t = typename iterator_difference<Iterator>::type;
65
+
57
66
namespace detail
58
67
{
59
68
@@ -90,6 +99,8 @@ template<>
90
99
typedef thrust::iterator_system<const int *>::type type;
91
100
}; // end iterator_system<void*>
92
101
102
+ template <typename Iterator>
103
+ using iterator_system_t = typename iterator_system<Iterator>::type;
93
104
94
105
template <typename Iterator>
95
106
struct iterator_traversal
0 commit comments