diff --git a/thrust/thrust/type_traits/is_contiguous_iterator.h b/thrust/thrust/type_traits/is_contiguous_iterator.h index f41543d47b5..3ed4b044933 100644 --- a/thrust/thrust/type_traits/is_contiguous_iterator.h +++ b/thrust/thrust/type_traits/is_contiguous_iterator.h @@ -72,7 +72,6 @@ struct is_contiguous_iterator_impl; template using is_contiguous_iterator = detail::is_contiguous_iterator_impl; -#if _CCCL_STD_VER >= 2014 /*! \brief constexpr bool that is \c true if \c Iterator satisfies * ContiguousIterator, * aka it points to elements that are contiguous in memory, and \c false @@ -84,7 +83,6 @@ using is_contiguous_iterator = detail::is_contiguous_iterator_impl; */ template constexpr bool is_contiguous_iterator_v = is_contiguous_iterator::value; -#endif /*! \brief Customization point that can be customized to indicate that an * iterator type \c Iterator satisfies @@ -145,10 +143,20 @@ struct is_libstdcxx_normal_iterator<::__gnu_cxx::__normal_iterator +struct is_msvc_contiguous_iterator : ::cuda::std::is_pointer<::std::_Unwrapped_t> +{}; + +#else + template struct is_msvc_contiguous_iterator : false_type {}; +#endif + template struct is_contiguous_iterator_impl : integral_constant<