Skip to content

Commit 1a35ba5

Browse files
sergey-semenovbader
authored andcommitted
[SYCL] Make buffer iterator c'tors SFINAE friendly
Signed-off-by: Sergey Semenov <[email protected]>
1 parent 8a9c8fb commit 1a35ba5

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

sycl/include/CL/sycl/detail/buffer_impl.hpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,21 @@ template <typename AllocatorT> class buffer_impl : public SYCLMemObjT {
9090
set_final_data(weak_ptr_class<T>(HostData));
9191
}
9292

93-
template <typename Iterator> struct is_const_iterator {
94-
using pointer = typename std::iterator_traits<Iterator>::pointer;
95-
static constexpr bool value =
96-
std::is_const<typename std::remove_pointer<pointer>::type>::value;
97-
};
93+
template <typename Iterator>
94+
using GetTypeFromIterator = typename std::remove_pointer<
95+
typename std::iterator_traits<Iterator>::pointer>;
96+
97+
template <typename Iterator>
98+
using IsConstIterator =
99+
typename std::is_const<typename GetTypeFromIterator<Iterator>::type>;
98100

99101
template <typename Iterator>
100102
using EnableIfConstIterator =
101-
typename std::enable_if<is_const_iterator<Iterator>::value,
102-
Iterator>::type;
103+
typename std::enable_if<IsConstIterator<Iterator>::value, Iterator>::type;
103104

104105
template <typename Iterator>
105106
using EnableIfNotConstIterator =
106-
typename std::enable_if<!is_const_iterator<Iterator>::value,
107+
typename std::enable_if<!IsConstIterator<Iterator>::value,
107108
Iterator>::type;
108109

109110
template <class InputIterator>

0 commit comments

Comments
 (0)