Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions c2h/include/c2h/vector.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

#include <thrust/detail/vector_base.h>

#include <cuda/std/type_traits>

#include <memory>

#include <catch2/catch_tostring.hpp>
Expand Down
5 changes: 4 additions & 1 deletion thrust/thrust/advance.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@
# pragma system_header
#endif // no system header

#include <cuda/std/iterator>
#include <cuda/std/__iterator/advance.h>
#include <cuda/std/__iterator/iterator_traits.h>
#include <cuda/std/__iterator/next.h>
#include <cuda/std/__iterator/prev.h>

THRUST_NAMESPACE_BEGIN

Expand Down
4 changes: 3 additions & 1 deletion thrust/thrust/allocate_unique.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
#include <thrust/detail/type_deduction.h>

#include <cuda/std/__cccl/memory_wrapper.h>
#include <cuda/std/utility>
#include <cuda/std/__type_traits/remove_cvref.h>
#include <cuda/std/__utility/move.h>
#include <cuda/std/__utility/swap.h>

THRUST_NAMESPACE_BEGIN

Expand Down
4 changes: 2 additions & 2 deletions thrust/thrust/detail/alignment.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
# pragma system_header
#endif // no system header

#include <cuda/cmath>
#include <cuda/__cmath/ceil_div.h>
#include <cuda/std/__type_traits/alignment_of.h>
#include <cuda/std/cstddef> // For `std::size_t` and `std::max_align_t`.
#include <cuda/std/type_traits>

THRUST_NAMESPACE_BEGIN
namespace detail
Expand Down
7 changes: 6 additions & 1 deletion thrust/thrust/detail/allocator/allocator_traits.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,13 @@
#include <thrust/detail/type_traits/pointer_traits.h>

#include <cuda/std/__cccl/memory_wrapper.h>
#include <cuda/std/__type_traits/add_lvalue_reference.h>
#include <cuda/std/__type_traits/conditional.h>
#include <cuda/std/__type_traits/is_empty.h>
#include <cuda/std/__type_traits/make_unsigned.h>
#include <cuda/std/__type_traits/type_identity.h>
#include <cuda/std/__type_traits/void_t.h>
#include <cuda/std/limits>
#include <cuda/std/type_traits>

#include <new>

Expand Down
8 changes: 5 additions & 3 deletions thrust/thrust/detail/allocator/copy_construct_range.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,20 @@
# pragma system_header
#endif // no system header

#include <thrust/advance.h>
#include <thrust/detail/allocator/allocator_traits.h>
#include <thrust/detail/copy.h>
#include <thrust/detail/execution_policy.h>
#include <thrust/detail/type_traits/pointer_traits.h>
#include <thrust/distance.h>
#include <thrust/for_each.h>
#include <thrust/iterator/iterator_traits.h>
#include <thrust/iterator/zip_iterator.h>
#include <thrust/tuple.h>

#include <cuda/std/__cccl/memory_wrapper.h>
#include <cuda/std/__iterator/advance.h>
#include <cuda/std/__iterator/distance.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_trivially_copy_constructible.h>

THRUST_NAMESPACE_BEGIN
namespace detail
Expand All @@ -64,7 +66,7 @@ struct copy_construct_with_allocator
template <typename Allocator, typename T>
inline constexpr bool needs_copy_construct_via_allocator =
allocator_traits_detail::has_member_construct2<Allocator, T, T>::value
|| !::cuda::std::is_trivially_copy_constructible<T>::value;
|| !::cuda::std::is_trivially_copy_constructible_v<T>;

// we know that std::allocator::construct's only effect is to call T's
// copy constructor, so we needn't consider or use its construct() member for copy construction
Expand Down
7 changes: 4 additions & 3 deletions thrust/thrust/detail/allocator_aware_execution_policy.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
#include <thrust/detail/alignment.h>
#include <thrust/detail/execute_with_allocator_fwd.h>

#include <cuda/std/type_traits>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/is_reference.h>
#include <cuda/std/__utility/move.h>

THRUST_NAMESPACE_BEGIN

Expand Down Expand Up @@ -83,8 +85,7 @@ struct allocator_aware_execution_policy
// perfect forwarding doesn't help, because a const reference has to be turned
// into a value by copying for the purpose of storing it in execute_with_allocator
_CCCL_EXEC_CHECK_DISABLE
template <typename Allocator,
typename ::cuda::std::enable_if<!::cuda::std::is_lvalue_reference<Allocator>::value>::type* = nullptr>
template <typename Allocator, ::cuda::std::enable_if_t<!::cuda::std::is_lvalue_reference_v<Allocator>>* = nullptr>
_CCCL_HOST_DEVICE typename execute_with_allocator_type<Allocator>::type operator()(Allocator&& alloc) const
{
return typename execute_with_allocator_type<Allocator>::type(::cuda::std::move(alloc));
Expand Down
3 changes: 2 additions & 1 deletion thrust/thrust/detail/contiguous_storage.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
#include <thrust/detail/execution_policy.h>
#include <thrust/iterator/detail/normal_iterator.h>

#include <cuda/std/utility>
#include <cuda/std/__utility/move.h>
#include <cuda/std/__utility/swap.h>

#include <stdexcept>

Expand Down
3 changes: 2 additions & 1 deletion thrust/thrust/detail/contiguous_storage.inl
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
#include <thrust/detail/allocator/value_initialize_range.h>
#include <thrust/detail/contiguous_storage.h>

#include <cuda/std/utility> // for use of std::swap in the WAR below
#include <cuda/std/__utility/move.h>
#include <cuda/std/__utility/swap.h>

#include <nv/target>

Expand Down
6 changes: 4 additions & 2 deletions thrust/thrust/detail/functional/actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@
#include <thrust/detail/type_deduction.h>
#include <thrust/tuple.h>

#include <cuda/std/type_traits>
#include <cuda/std/utility>
#include <cuda/std/__type_traits/decay.h>
#include <cuda/std/__type_traits/integral_constant.h>
#include <cuda/std/__utility/declval.h>
#include <cuda/std/__utility/move.h>

THRUST_NAMESPACE_BEGIN
namespace detail::functional
Expand Down
3 changes: 2 additions & 1 deletion thrust/thrust/detail/functional/operators.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
#include <thrust/functional.h>
#include <thrust/tuple.h>

#include <cuda/std/type_traits>
#include <cuda/std/__functional/operations.h>
#include <cuda/std/__type_traits/enable_if.h>

THRUST_NAMESPACE_BEGIN
namespace detail::functional
Expand Down
10 changes: 8 additions & 2 deletions thrust/thrust/detail/internal_functional.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,13 @@
#include <cuda/__iterator/transform_output_iterator.h>
#include <cuda/std/__cccl/memory_wrapper.h> // for ::new
#include <cuda/std/__new/device_new.h>
#include <cuda/std/type_traits>
#include <cuda/std/__tuple_dir/get.h>
#include <cuda/std/__tuple_dir/tuple_element.h>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/is_const.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_reference.h>
#include <cuda/std/__type_traits/type_identity.h>

THRUST_NAMESPACE_BEGIN

Expand Down Expand Up @@ -240,7 +246,7 @@ struct device_destroy_functor

template <typename System, typename T>
struct destroy_functor
: thrust::detail::eval_if<::cuda::std::is_convertible<System, thrust::host_system_tag>::value,
: thrust::detail::eval_if<::cuda::std::is_convertible_v<System, thrust::host_system_tag>,
::cuda::std::type_identity<host_destroy_functor<T>>,
::cuda::std::type_identity<device_destroy_functor<T>>>
{};
Expand Down
5 changes: 2 additions & 3 deletions thrust/thrust/detail/memory_algorithms.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,11 @@

#include <cuda/std/__cccl/memory_wrapper.h>
#include <cuda/std/__memory/addressof.h>
#include <cuda/std/utility>
#include <cuda/std/__new/device_new.h>
#include <cuda/std/__type_traits/remove_cvref.h>

#include <nv/target>

#include <new>

THRUST_NAMESPACE_BEGIN

///////////////////////////////////////////////////////////////////////////////
Expand Down
7 changes: 6 additions & 1 deletion thrust/thrust/detail/pointer.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,13 @@
#include <thrust/iterator/iterator_adaptor.h>
#include <thrust/iterator/iterator_traversal_tags.h>

#include <cuda/std/__type_traits/is_reference.h>
#include <cuda/std/__type_traits/is_same.h>
#include <cuda/std/__type_traits/is_void.h>
#include <cuda/std/__type_traits/remove_cv.h>
#include <cuda/std/__type_traits/remove_cvref.h>
#include <cuda/std/__type_traits/type_identity.h>
#include <cuda/std/cstddef>
#include <cuda/std/type_traits>

#if !_CCCL_COMPILER(NVRTC)
# include <ostream>
Expand Down
4 changes: 3 additions & 1 deletion thrust/thrust/detail/random_bijection.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@

#include <thrust/random.h>

#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_integral.h>
#include <cuda/std/__utility/forward.h>
#include <cuda/std/cstdint>
#include <cuda/std/type_traits>

THRUST_NAMESPACE_BEGIN
namespace detail
Expand Down
7 changes: 6 additions & 1 deletion thrust/thrust/detail/raw_reference_cast.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@
#include <thrust/detail/type_traits/has_nested_type.h>
#include <thrust/tuple.h>

#include <cuda/std/type_traits>
#include <cuda/std/__tuple_dir/apply.h>
#include <cuda/std/__type_traits/add_lvalue_reference.h>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/remove_cv.h>
#include <cuda/std/__type_traits/type_identity.h>
#include <cuda/std/__utility/forward.h>

// the order of declarations and definitions in this file is totally goofy
// this header defines raw_reference_cast, which has a few overloads towards the bottom of the file
Expand Down
5 changes: 4 additions & 1 deletion thrust/thrust/detail/reference.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@
#include <thrust/system/detail/generic/memory.h>
#include <thrust/system/detail/generic/select_system.h>

#include <cuda/std/type_traits>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/remove_cvref.h>
#include <cuda/std/__utility/move.h>

#include <ostream>

Expand Down
3 changes: 2 additions & 1 deletion thrust/thrust/detail/temporary_array.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ THRUST_NAMESPACE_END
#include <thrust/iterator/iterator_traits.h>

#include <cuda/std/__cccl/memory_wrapper.h>
#include <cuda/std/type_traits>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/type_identity.h>

THRUST_NAMESPACE_BEGIN
namespace detail
Expand Down
4 changes: 3 additions & 1 deletion thrust/thrust/detail/temporary_array.inl
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@

#include <thrust/detail/temporary_array.h>
#include <thrust/detail/type_traits.h>
#include <thrust/distance.h>
#include <thrust/system/detail/generic/select_system.h>

#include <cuda/std/__iterator/distance.h>
#include <cuda/std/__type_traits/is_trivially_copy_constructible.h>

THRUST_NAMESPACE_BEGIN

namespace detail
Expand Down
3 changes: 1 addition & 2 deletions thrust/thrust/detail/type_deduction.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@

#include <thrust/detail/preprocessor.h>

#include <cuda/std/type_traits>
#include <cuda/std/utility>
#include <cuda/std/__utility/forward.h>

///////////////////////////////////////////////////////////////////////////////

Expand Down
11 changes: 9 additions & 2 deletions thrust/thrust/detail/type_traits.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,14 @@
# pragma system_header
#endif // no system header

#include <cuda/std/type_traits>
#include <cuda/std/__functional/invoke.h>
#include <cuda/std/__type_traits/conjunction.h>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/integral_constant.h>
#include <cuda/std/__type_traits/is_arithmetic.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_integral.h>
#include <cuda/std/__type_traits/type_identity.h>

THRUST_NAMESPACE_BEGIN

Expand Down Expand Up @@ -65,7 +72,7 @@ template <typename T>
inline constexpr bool is_proxy_reference_v = false;

template <typename Boolean>
struct not_ : public integral_constant<bool, !Boolean::value>
struct not_ : public ::cuda::std::integral_constant<bool, !Boolean::value>
{}; // end not_

template <bool, typename Then, typename Else>
Expand Down
33 changes: 18 additions & 15 deletions thrust/thrust/detail/type_traits/has_member_function.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,23 @@

#include <thrust/detail/type_traits.h>

#include <cuda/std/utility> // for std::declval
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_void.h>
#include <cuda/std/__utility/declval.h>

#define __THRUST_DEFINE_HAS_MEMBER_FUNCTION(trait_name, member_function_name) \
template <typename T, typename Signature, typename = void> \
struct trait_name : thrust::false_type \
{}; \
\
template <typename T, typename ResultT, typename... Args> \
struct trait_name< \
T, \
ResultT(Args...), \
::cuda::std::enable_if_t< \
::cuda::std::is_same<ResultT, void>::value \
|| ::cuda::std:: \
is_convertible<ResultT, decltype(std::declval<T>().member_function_name(std::declval<Args>()...))>::value>> \
: thrust::true_type \
#define __THRUST_DEFINE_HAS_MEMBER_FUNCTION(trait_name, member_function_name) \
template <typename T, typename Signature, typename = void> \
struct trait_name : thrust::false_type \
{}; \
\
template <typename T, typename ResultT, typename... Args> \
struct trait_name< \
T, \
ResultT(Args...), \
::cuda::std::enable_if_t<::cuda::std::is_void_v<ResultT> \
|| ::cuda::std::is_convertible_v<ResultT, \
decltype(::cuda::std::declval<T>().member_function_name( \
::cuda::std::declval<Args>()...))>>> \
: thrust::true_type \
{};
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
#include <thrust/iterator/detail/any_assign.h>
#include <thrust/iterator/iterator_traits.h>

#include <cuda/std/type_traits>
#include <cuda/std/__type_traits/is_same.h>
#include <cuda/std/__type_traits/is_void.h>
#include <cuda/std/__type_traits/void_t.h>

THRUST_NAMESPACE_BEGIN

Expand Down
4 changes: 3 additions & 1 deletion thrust/thrust/detail/type_traits/minimum_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
# pragma system_header
#endif // no system header

#include <cuda/std/type_traits>
#include <cuda/std/__type_traits/enable_if.h>
#include <cuda/std/__type_traits/is_convertible.h>
#include <cuda/std/__type_traits/is_same.h>

THRUST_NAMESPACE_BEGIN

Expand Down
Loading