Skip to content
This repository was archived by the owner on Mar 21, 2024. It is now read-only.

Commit 966912c

Browse files
committed
Add iterator_*_t helpers for iterator traits.
- iterator_value_t - iterator_pointer_t - iterator_reference_t - iterator_difference_t - iterator_system_t
1 parent f373af0 commit 966912c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

thrust/iterator/detail/iterator_traits.inl

+11
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,36 @@ template<typename Iterator>
3333
typedef typename thrust::iterator_traits<Iterator>::value_type type;
3434
}; // end iterator_value
3535

36+
template <typename Iterator>
37+
using iterator_value_t = typename iterator_value<Iterator>::type;
3638

3739
template<typename Iterator>
3840
struct iterator_pointer
3941
{
4042
typedef typename thrust::iterator_traits<Iterator>::pointer type;
4143
}; // end iterator_pointer
4244

45+
template <typename Iterator>
46+
using iterator_pointer_t = typename iterator_pointer<Iterator>::type;
4347

4448
template<typename Iterator>
4549
struct iterator_reference
4650
{
4751
typedef typename iterator_traits<Iterator>::reference type;
4852
}; // end iterator_reference
4953

54+
template <typename Iterator>
55+
using iterator_reference_t = typename iterator_reference<Iterator>::type;
5056

5157
template<typename Iterator>
5258
struct iterator_difference
5359
{
5460
typedef typename thrust::iterator_traits<Iterator>::difference_type type;
5561
}; // end iterator_difference
5662

63+
template <typename Iterator>
64+
using iterator_difference_t = typename iterator_difference<Iterator>::type;
65+
5766
namespace detail
5867
{
5968

@@ -90,6 +99,8 @@ template<>
9099
typedef thrust::iterator_system<const int*>::type type;
91100
}; // end iterator_system<void*>
92101

102+
template <typename Iterator>
103+
using iterator_system_t = typename iterator_system<Iterator>::type;
93104

94105
template <typename Iterator>
95106
struct iterator_traversal

0 commit comments

Comments
 (0)