From 74e2563142f546d69f347a7f797cad828b1ff517 Mon Sep 17 00:00:00 2001 From: Bernhard Manfred Gruber Date: Tue, 21 Jan 2025 19:41:19 +0100 Subject: [PATCH 1/2] Deprecate thrust universal iterator categories (#3461) --- .../iterator/detail/universal_categories.h | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/thrust/thrust/iterator/detail/universal_categories.h b/thrust/thrust/iterator/detail/universal_categories.h index ea30f076beb..a4447a75013 100644 --- a/thrust/thrust/iterator/detail/universal_categories.h +++ b/thrust/thrust/iterator/detail/universal_categories.h @@ -27,39 +27,36 @@ #endif // no system header #include -// XXX eliminate this file - +_CCCL_SUPPRESS_DEPRECATED_PUSH THRUST_NAMESPACE_BEGIN // define these types without inheritance to avoid ambiguous conversion to base classes -struct input_universal_iterator_tag +// deprecated [Since 2.8] +struct CCCL_DEPRECATED input_universal_iterator_tag{operator input_host_iterator_tag(){return input_host_iterator_tag(); +} + +operator input_device_iterator_tag() { - operator input_host_iterator_tag() - { - return input_host_iterator_tag(); - } + return input_device_iterator_tag(); +} +} +; - operator input_device_iterator_tag() - { - return input_device_iterator_tag(); - } -}; +// deprecated [Since 2.8] +struct CCCL_DEPRECATED output_universal_iterator_tag{operator output_host_iterator_tag(){ + return output_host_iterator_tag(); +} -struct output_universal_iterator_tag +operator output_device_iterator_tag() { - operator output_host_iterator_tag() - { - return output_host_iterator_tag(); - } - - operator output_device_iterator_tag() - { - return output_device_iterator_tag(); - } -}; + return output_device_iterator_tag(); +} +} +; -struct forward_universal_iterator_tag : input_universal_iterator_tag +// deprecated [Since 2.8] +struct CCCL_DEPRECATED forward_universal_iterator_tag : input_universal_iterator_tag { operator forward_host_iterator_tag() { @@ -72,7 +69,8 @@ struct forward_universal_iterator_tag : input_universal_iterator_tag }; }; -struct bidirectional_universal_iterator_tag : forward_universal_iterator_tag +// deprecated [Since 2.8] +struct CCCL_DEPRECATED bidirectional_universal_iterator_tag : forward_universal_iterator_tag { operator bidirectional_host_iterator_tag() { @@ -95,7 +93,8 @@ struct one_degree_of_separation : T } // namespace detail -struct random_access_universal_iterator_tag +// deprecated [Since 2.8] +struct CCCL_DEPRECATED random_access_universal_iterator_tag { // these conversions are all P0 operator random_access_host_iterator_tag() @@ -115,4 +114,5 @@ struct random_access_universal_iterator_tag } }; +_CCCL_SUPPRESS_DEPRECATED_POP THRUST_NAMESPACE_END From 3282c0a7a1501414ab90b2204a74b65c0b50da5a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:25:47 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto code formatting --- .../iterator/detail/universal_categories.h | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/thrust/thrust/iterator/detail/universal_categories.h b/thrust/thrust/iterator/detail/universal_categories.h index a4447a75013..ee620f977a8 100644 --- a/thrust/thrust/iterator/detail/universal_categories.h +++ b/thrust/thrust/iterator/detail/universal_categories.h @@ -33,27 +33,32 @@ THRUST_NAMESPACE_BEGIN // define these types without inheritance to avoid ambiguous conversion to base classes // deprecated [Since 2.8] -struct CCCL_DEPRECATED input_universal_iterator_tag{operator input_host_iterator_tag(){return input_host_iterator_tag(); -} - -operator input_device_iterator_tag() +struct CCCL_DEPRECATED input_universal_iterator_tag { - return input_device_iterator_tag(); -} -} -; + operator input_host_iterator_tag() + { + return input_host_iterator_tag(); + } -// deprecated [Since 2.8] -struct CCCL_DEPRECATED output_universal_iterator_tag{operator output_host_iterator_tag(){ - return output_host_iterator_tag(); -} + operator input_device_iterator_tag() + { + return input_device_iterator_tag(); + } +}; -operator output_device_iterator_tag() +// deprecated [Since 2.8] +struct CCCL_DEPRECATED output_universal_iterator_tag { - return output_device_iterator_tag(); -} -} -; + operator output_host_iterator_tag() + { + return output_host_iterator_tag(); + } + + operator output_device_iterator_tag() + { + return output_device_iterator_tag(); + } +}; // deprecated [Since 2.8] struct CCCL_DEPRECATED forward_universal_iterator_tag : input_universal_iterator_tag