diff --git a/thrust/thrust/adjacent_difference.h b/thrust/thrust/adjacent_difference.h
index 756b42937fe..acc07be33c9 100644
--- a/thrust/thrust/adjacent_difference.h
+++ b/thrust/thrust/adjacent_difference.h
@@ -111,11 +111,12 @@ _CCCL_HOST_DEVICE OutputIterator adjacent_difference(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p BinaryFunction's \c first_argument_type and
- * \c second_argument_type, and \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p BinaryFunction's first and second argument
+ * type, and \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of
* \c value_types. \tparam OutputIterator is a model of Output Iterator. \tparam BinaryFunction's \c
- * result_type is convertible to a type in \p OutputIterator's set of \c value_types.
+ * href="https://en.cppreference.com/w/cpp/iterator/output_iterator">Output Iterator.
+ * \tparam BinaryFunction The functions's return type convertible to a type in \p OutputIterator's set of \c
+ * value_types.
*
* \remark Note that \p result is permitted to be the same iterator as \p first. This is
* useful for computing differences "in place".
@@ -210,11 +211,12 @@ OutputIterator adjacent_difference(InputIterator first, InputIterator last, Outp
* \return The iterator result + (last - first)
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p BinaryFunction's \c first_argument_type and
- * \c second_argument_type, and \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of
- * \c value_types. \tparam OutputIterator is a model of Output Iterator. \tparam BinaryFunction's \c
- * result_type is convertible to a type in \p OutputIterator's set of \c value_types.
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p BinaryFunction's first and second argument
+ * type, and \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
+ * \tparam OutputIterator is a model of Output
+ * Iterator.
+ * \tparam BinaryFunction The function's return type must be convertible to a type in \p OutputIterator's
+ * set of \c value_types.
*
* \remark Note that \p result is permitted to be the same iterator as \p first. This is
* useful for computing differences "in place".
diff --git a/thrust/thrust/copy.h b/thrust/thrust/copy.h
index 3b76fc78243..5a41feb2a1f 100644
--- a/thrust/thrust/copy.h
+++ b/thrust/thrust/copy.h
@@ -260,7 +260,7 @@ OutputIterator copy_n(InputIterator first, Size n, OutputIterator result);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* OutputIterator is a model of Output
* Iterator. \tparam Predicate is a model of Predicate.
@@ -321,7 +321,7 @@ _CCCL_HOST_DEVICE OutputIterator copy_if(
* evaluated to \c true in the range [first, last).
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* OutputIterator is a model of Output
* Iterator. \tparam Predicate is a model of Predicate.
@@ -383,7 +383,7 @@ OutputIterator copy_if(InputIterator first, InputIterator last, OutputIterator r
* \tparam InputIterator1 is a model of Input
* Iterator. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate.
*
@@ -456,7 +456,7 @@ _CCCL_HOST_DEVICE OutputIterator copy_if(
* \tparam InputIterator1 is a model of Input
* Iterator. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate.
*
diff --git a/thrust/thrust/count.h b/thrust/thrust/count.h
index 8febab33995..079322802b3 100644
--- a/thrust/thrust/count.h
+++ b/thrust/thrust/count.h
@@ -148,7 +148,7 @@ count(InputIterator first, InputIterator last, const EqualityComparable& value);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator must be a model of Input
- * Iterator and \c InputIterator's \c value_type must be convertible to \c Predicate's \c argument_type. \tparam
+ * Iterator and \c InputIterator's \c value_type must be convertible to \c Predicate's argument type. \tparam
* Predicate must be a model of Predicate.
*
* The following code snippet demonstrates how to use \p count to
@@ -200,7 +200,7 @@ count_if(const thrust::detail::execution_policy_base& exec,
* \return The number of elements where \p pred is \c true.
*
* \tparam InputIterator must be a model of Input
- * Iterator and \c InputIterator's \c value_type must be convertible to \c Predicate's \c argument_type. \tparam
+ * Iterator and \c InputIterator's \c value_type must be convertible to \c Predicate's argument type. \tparam
* Predicate must be a model of Predicate.
*
* The following code snippet demonstrates how to use \p count to
diff --git a/thrust/thrust/equal.h b/thrust/thrust/equal.h
index dc22aeb16b1..3029bc58b92 100644
--- a/thrust/thrust/equal.h
+++ b/thrust/thrust/equal.h
@@ -148,9 +148,9 @@ bool equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type.
+ * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryPredicate's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator, and \p InputIterator2's \c value_type is convertible to \p BinaryPredicate's \c second_argument_type.
+ * Iterator, and \p InputIterator2's \c value_type is convertible to \p BinaryPredicate's second argument type.
* \tparam BinaryPredicate is a model of Binary
* Predicate.
*
@@ -204,9 +204,9 @@ equal(const thrust::detail::execution_policy_base& exec,
* \return \c true, if the sequences are equal; \c false, otherwise.
*
* \tparam InputIterator1 is a model of Input
- * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type.
+ * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryPredicate's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator, and \p InputIterator2's \c value_type is convertible to \p BinaryPredicate's \c second_argument_type.
+ * Iterator, and \p InputIterator2's \c value_type is convertible to \p BinaryPredicate's second argument type.
* \tparam BinaryPredicate is a model of Binary
* Predicate.
*
diff --git a/thrust/thrust/extrema.h b/thrust/thrust/extrema.h
index 9011468e3ed..72b3dcf728d 100644
--- a/thrust/thrust/extrema.h
+++ b/thrust/thrust/extrema.h
@@ -289,8 +289,8 @@ ForwardIterator min_element(ForwardIterator first, ForwardIterator last);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of , and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary Predicate.
*
* The following code snippet demonstrates how to use \p min_element to find the smallest element
@@ -353,9 +353,9 @@ _CCCL_HOST_DEVICE ForwardIterator min_element(
* if it is not an empty range; \p last, otherwise.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of Binary Predicate.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary
+ * Predicate.
*
* The following code snippet demonstrates how to use \p min_element to find the smallest element
* of a collection of key-value pairs.
@@ -491,9 +491,9 @@ ForwardIterator max_element(ForwardIterator first, ForwardIterator last);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of Binary Predicate.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary
+ * Predicate.
*
* The following code snippet demonstrates how to use \p max_element to find the largest element
* of a collection of key-value pairs using the \p thrust::host execution policy for parallelization.
@@ -555,9 +555,9 @@ _CCCL_HOST_DEVICE ForwardIterator max_element(
* if it is not an empty range; \p last, otherwise.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of Binary Predicate.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary
+ * Predicate.
*
* The following code snippet demonstrates how to use \p max_element to find the largest element
* of a collection of key-value pairs.
@@ -682,9 +682,9 @@ thrust::pair minmax_element(ForwardIterator fi
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of Binary Predicate.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary
+ * Predicate.
*
* The following code snippet demonstrates how to use \p minmax_element to find the smallest and largest elements
* of a collection of key-value pairs using the \p thrust::host execution policy for parallelization:
@@ -745,9 +745,9 @@ _CCCL_HOST_DEVICE thrust::pair minmax_element(
* if it is not an empty range; \p last, otherwise.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's \c first_argument_type and \c
- * second_argument_type. \tparam BinaryPredicate is a model of Binary Predicate.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to both \p comp's first and second argument type.
+ * \tparam BinaryPredicate is a model of Binary
+ * Predicate.
*
* The following code snippet demonstrates how to use \p minmax_element to find the smallest and largest elements
* of a collection of key-value pairs.
diff --git a/thrust/thrust/for_each.h b/thrust/thrust/for_each.h
index 0bd28d8b10b..cb12f74d36e 100644
--- a/thrust/thrust/for_each.h
+++ b/thrust/thrust/for_each.h
@@ -55,9 +55,8 @@ THRUST_NAMESPACE_BEGIN
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * UnaryFunction is a model of Unary
- * Function, and \p UnaryFunction does not apply any non-constant operation through its argument.
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type. \tparam
+ * UnaryFunction does not apply any non-constant operation through its argument.
*
* The following code snippet demonstrates how to use \p for_each to print the elements
* of a \p thrust::device_vector using the \p thrust::device parallelization policy:
@@ -115,10 +114,8 @@ _CCCL_HOST_DEVICE InputIterator for_each(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * Size is an integral type. \tparam UnaryFunction is a model of Unary Function, and \p UnaryFunction
- * does not apply any non-constant operation through its argument.
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type. \tparam
+ * Size is an integral type. \tparam UnaryFunction does not apply any non-constant operation through its argument.
*
* The following code snippet demonstrates how to use \p for_each_n to print the elements
* of a \p device_vector using the \p thrust::device parallelization policy.
@@ -169,9 +166,8 @@ _CCCL_HOST_DEVICE InputIterator for_each_n(
* \return last
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * UnaryFunction is a model of Unary
- * Function, and \p UnaryFunction does not apply any non-constant operation through its argument.
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type.
+ * \tparam UnaryFunction does not apply any non-constant operation through its argument.
*
* The following code snippet demonstrates how to use \p for_each to print the elements
* of a \p device_vector.
@@ -219,10 +215,9 @@ InputIterator for_each(InputIterator first, InputIterator last, UnaryFunction f)
* \return first + n
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * Size is an integral type. \tparam UnaryFunction is a model of Unary Function, and \p UnaryFunction
- * does not apply any non-constant operation through its argument.
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type. \tparam
+ * Size is an integral type.
+ * \tparam UnaryFunction does not apply any non-constant operation through its argument.
*
* The following code snippet demonstrates how to use \p for_each_n to print the elements
* of a \p device_vector.
diff --git a/thrust/thrust/gather.h b/thrust/thrust/gather.h
index 1825fb819c3..2d4a8e6909f 100644
--- a/thrust/thrust/gather.h
+++ b/thrust/thrust/gather.h
@@ -306,7 +306,7 @@ OutputIterator gather_if(
* Iterator and \c InputIterator1's \c value_type must be convertible to \c RandomAccessIterator's \c
* difference_type. \tparam InputIterator2 must be a model of Input Iterator and \c InputIterator2's \c
- * value_type must be convertible to \c Predicate's \c argument_type. \tparam RandomAccessIterator must be a model of Random Access iterator and \c
* RandomAccessIterator's \c value_type must be convertible to \c OutputIterator's \c value_type. \tparam OutputIterator
* must be a model of Output Iterator. \tparam
@@ -392,7 +392,7 @@ _CCCL_HOST_DEVICE OutputIterator gather_if(
* Iterator and \c InputIterator1's \c value_type must be convertible to \c RandomAccessIterator's \c
* difference_type. \tparam InputIterator2 must be a model of Input Iterator and \c InputIterator2's \c
- * value_type must be convertible to \c Predicate's \c argument_type. \tparam RandomAccessIterator must be a model of Random Access iterator and \c
* RandomAccessIterator's \c value_type must be convertible to \c OutputIterator's \c value_type. \tparam OutputIterator
* must be a model of Output Iterator. \tparam
diff --git a/thrust/thrust/generate.h b/thrust/thrust/generate.h
index 20f5090bea4..17da0f9eda6 100644
--- a/thrust/thrust/generate.h
+++ b/thrust/thrust/generate.h
@@ -50,9 +50,8 @@ THRUST_NAMESPACE_BEGIN
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator is mutable. \tparam Generator is a model of Generator, and \p Generator's \c result_type is
- * convertible to \p ForwardIterator's \c value_type.
+ * Iterator, and \p ForwardIterator is mutable.
+ * \tparam Generator A nullary function with a return type convertible to \p ForwardIterator's \c value_type.
*
* The following code snippet demonstrates how to fill a \c host_vector with random numbers,
* using the standard C library function \c rand using the \p thrust::host execution policy for parallelization:
@@ -89,9 +88,8 @@ generate(const thrust::detail::execution_policy_base& exec,
* elements in the range [first,last).
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator is mutable. \tparam Generator is a model of Generator, and \p Generator's \c result_type is
- * convertible to \p ForwardIterator's \c value_type.
+ * Iterator, and \p ForwardIterator is mutable.
+ * \tparam Generator A nullary function with a return type convertible to \p ForwardIterator's \c value_type.
*
* The following code snippet demonstrates how to fill a \c host_vector with random numbers,
* using the standard C library function \c rand.
@@ -128,9 +126,8 @@ void generate(ForwardIterator first, ForwardIterator last, Generator gen);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam OutputIterator is a model of Output
- * Iterator. \tparam Size is an integral type (either signed or unsigned). \tparam Generator is a model of Generator, and \p Generator's \c result_type is
- * convertible to a type in \p OutputIterator's set of \c value_types.
+ * Iterator. \tparam Size is an integral type (either signed or unsigned).
+ * \tparam Generator A nullary function with a return type convertible to \p ForwardIterator's \c value_type.
*
* The following code snippet demonstrates how to fill a \c host_vector with random numbers,
* using the standard C library function \c rand using the \p thrust::host execution policy for parallelization:
@@ -164,9 +161,8 @@ _CCCL_HOST_DEVICE OutputIterator generate_n(
* elements in the range [first,first + n).
*
* \tparam OutputIterator is a model of Output
- * Iterator. \tparam Size is an integral type (either signed or unsigned). \tparam Generator is a model of Generator, and \p Generator's \c result_type is
- * convertible to a type in \p OutputIterator's set of \c value_types.
+ * Iterator. \tparam Size is an integral type (either signed or unsigned).
+ * \tparam Generator A nullary function with a return type convertible to \p ForwardIterator's \c value_type.
*
* The following code snippet demonstrates how to fill a \c host_vector with random numbers,
* using the standard C library function \c rand.
diff --git a/thrust/thrust/inner_product.h b/thrust/thrust/inner_product.h
index 7f31482a17c..4219e117962 100644
--- a/thrust/thrust/inner_product.h
+++ b/thrust/thrust/inner_product.h
@@ -153,16 +153,14 @@ OutputType inner_product(InputIterator1 first1, InputIterator1 last1, InputItera
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryFunction2's \c first_argument_type.
+ * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryFunction2's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator. and \p InputIterator2's \c value_type is convertible to \p BinaryFunction2's \c second_argument_type.
+ * Iterator. and \p InputIterator2's \c value_type is convertible to \p BinaryFunction2's second argument type.
* \tparam OutputType is a model of Assignable, and \p OutputType is convertible to
- * \p BinaryFunction1's \c first_argument_type. \tparam BinaryFunction1 is a model of Binary Function, and \p
- * BinaryFunction1's \c return_type is convertible to \p OutputType. \tparam BinaryFunction2 is a model of Binary Function, and \p
- * BinaryFunction2's \c return_type is convertible to \p BinaryFunction1's \c second_argument_type.
+ * \p BinaryFunction1's first argument type.
+ * \tparam BinaryFunction1 The function's return type must be convertible to \p OutputType.
+ * \tparam BinaryFunction2 The function's return type must be convertible to \p BinaryFunction1's second argument type.
*
* \code
* #include
@@ -218,16 +216,14 @@ _CCCL_HOST_DEVICE OutputType inner_product(
* \return The inner product of sequences [first1, last1) and [first2, last2).
*
* \tparam InputIterator1 is a model of Input
- * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryFunction2's \c first_argument_type.
+ * Iterator, and \p InputIterator1's \c value_type is convertible to \p BinaryFunction2's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator. and \p InputIterator2's \c value_type is convertible to \p BinaryFunction2's \c second_argument_type.
+ * Iterator. and \p InputIterator2's \c value_type is convertible to \p BinaryFunction2's second argument type.
* \tparam OutputType is a model of Assignable, and \p OutputType is convertible to
- * \p BinaryFunction1's \c first_argument_type. \tparam BinaryFunction1 is a model of Binary Function, and \p
- * BinaryFunction1's \c return_type is convertible to \p OutputType. \tparam BinaryFunction2 is a model of Binary Function, and \p
- * BinaryFunction2's \c return_type is convertible to \p BinaryFunction1's \c second_argument_type.
+ * \p BinaryFunction1's first argument type.
+ * \tparam BinaryFunction1 The function's return type must be convertible to \p OutputType.
+ * \tparam BinaryFunction2 The function's return type must be convertible to \p BinaryFunction1's second argument type.
*
* \code
* #include
diff --git a/thrust/thrust/iterator/transform_iterator.h b/thrust/thrust/iterator/transform_iterator.h
index 8d8f2063590..0fd040685c6 100644
--- a/thrust/thrust/iterator/transform_iterator.h
+++ b/thrust/thrust/iterator/transform_iterator.h
@@ -73,8 +73,7 @@ THRUST_NAMESPACE_BEGIN
* #include
* #include
*
- * // note: functor inherits from unary_function
- * struct square_root : public thrust::unary_function
+ * struct square_root
* {
* __host__ __device__
* float operator()(float x) const
@@ -116,8 +115,7 @@ THRUST_NAMESPACE_BEGIN
* #include
* #include
*
- * // note: functor inherits from unary_function
- * struct square : public thrust::unary_function
+ * struct square
* {
* __host__ __device__
* float operator()(float x) const
@@ -144,20 +142,13 @@ THRUST_NAMESPACE_BEGIN
* }
* \endcode
*
- * Note that in the previous two examples the transform functor (namely \c square_root
- * and \c square) inherits from \c thrust::unary_function. Inheriting from
- * \c thrust::unary_function ensures that a functor is a valid \c AdaptableUnaryFunction
- * and provides all the necessary nested alias. The \p transform_iterator
- * can also be applied to a \c UnaryFunction that does not inherit from
- * \c thrust::unary_function using an optional template argument. The following example
- * illustrates how to use the third template argument to specify the \c result_type of
+ * The following example illustrates how to use the third template argument to explicitly specify the return type of
* the function.
*
* \code
* #include
* #include
*
- * // note: functor *does not* inherit from unary_function
* struct square_root
* {
* __host__ __device__
diff --git a/thrust/thrust/iterator/transform_output_iterator.h b/thrust/thrust/iterator/transform_output_iterator.h
index 00b6d44fee4..a009dc22fcf 100644
--- a/thrust/thrust/iterator/transform_output_iterator.h
+++ b/thrust/thrust/iterator/transform_output_iterator.h
@@ -59,9 +59,7 @@ THRUST_NAMESPACE_BEGIN
* #include
* #include
*
- * // note: functor inherits form unary function
- * // note: functor inherits from unary_function
- * struct square_root : public thrust::unary_function
+ * struct square_root
* {
* __host__ __device__
* float operator()(float x) const
diff --git a/thrust/thrust/merge.h b/thrust/thrust/merge.h
index baf5fc6d7b3..492852c98fb 100644
--- a/thrust/thrust/merge.h
+++ b/thrust/thrust/merge.h
@@ -197,10 +197,10 @@ merge(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputI
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of merge_by_key(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator1's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator1's set of \c
* value_types. \tparam InputIterator3 is a model of Input Iterator, and \p InputIterator3's \c
@@ -653,10 +653,10 @@ _CCCL_HOST_DEVICE thrust::pair merge_by_key(
* and such that p.second is the end of the output range of values.
*
* \tparam InputIterator1 is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator1's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator1's set of \c
* value_types. \tparam InputIterator3 is a model of Input Iterator, and \p InputIterator3's \c
diff --git a/thrust/thrust/partition.h b/thrust/thrust/partition.h
index a9b3a4d1989..b34c09b24db 100644
--- a/thrust/thrust/partition.h
+++ b/thrust/thrust/partition.h
@@ -66,7 +66,7 @@ THRUST_NAMESPACE_BEGIN
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type, and \p
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type, and \p
* ForwardIterator is mutable. \tparam Predicate is a model of Predicate.
*
@@ -125,7 +125,7 @@ _CCCL_HOST_DEVICE ForwardIterator partition(
* the sequence of the elements which do not satisfy \p pred.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type, and \p
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type, and \p
* ForwardIterator is mutable. \tparam Predicate is a model of Predicate.
*
@@ -186,7 +186,7 @@ ForwardIterator partition(ForwardIterator first, ForwardIterator last, Predicate
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The ranges [first,last) and [stencil, stencil + (last - first)) shall not overlap.
@@ -251,7 +251,7 @@ _CCCL_HOST_DEVICE ForwardIterator partition(
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The ranges [first,last) and [stencil, stencil + (last - first)) shall not overlap.
@@ -309,7 +309,7 @@ ForwardIterator partition(ForwardIterator first, ForwardIterator last, InputIter
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type and \p
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type and \p
* InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c value_types. \tparam
* OutputIterator1 is a model of Output
* Iterator. \tparam OutputIterator2 is a model of partition_copy(
* \p out_false.
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type and \p
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type and \p
* InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c value_types. \tparam
* OutputIterator1 is a model of Output
* Iterator. \tparam OutputIterator2 is a model of partition_copy(
* Iterator, and \p InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator1 is a model of Output Iterator. \tparam OutputIterator2 is a
* model of Output Iterator. \tparam Predicate
* is a model of Predicate.
@@ -540,7 +540,7 @@ _CCCL_HOST_DEVICE thrust::pair partition_copy(
* Iterator, and \p InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator1 is a model of Output Iterator. \tparam OutputIterator2 is a
* model of Output Iterator. \tparam Predicate
* is a model of Predicate.
@@ -616,7 +616,7 @@ thrust::pair partition_copy(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type, and \p
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type, and \p
* ForwardIterator is mutable. \tparam Predicate is a model of Predicate.
*
@@ -678,7 +678,7 @@ _CCCL_HOST_DEVICE ForwardIterator stable_partition(
* the sequence of the elements which do not satisfy pred.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type, and \p
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type, and \p
* ForwardIterator is mutable. \tparam Predicate is a model of Predicate.
*
@@ -741,7 +741,7 @@ ForwardIterator stable_partition(ForwardIterator first, ForwardIterator last, Pr
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The range [first, last) shall not overlap with the range [stencil, stencil + (last - first)).
@@ -808,7 +808,7 @@ _CCCL_HOST_DEVICE ForwardIterator stable_partition(
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The range [first, last) shall not overlap with the range [stencil, stencil + (last - first)).
@@ -872,7 +872,7 @@ ForwardIterator stable_partition(ForwardIterator first, ForwardIterator last, In
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type and \p
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type and \p
* InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c value_types. \tparam
* OutputIterator1 is a model of Output
* Iterator. \tparam OutputIterator2 is a model of stable_partitio
* \p out_false.
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type and \p
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type and \p
* InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c value_types. \tparam
* OutputIterator1 is a model of Output
* Iterator. \tparam OutputIterator2 is a model of stable_partition_copy(
* Iterator, and \p InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator1 is a model of Output Iterator. \tparam OutputIterator2 is a
* model of Output Iterator. \tparam Predicate
* is a model of Predicate.
@@ -1109,7 +1109,7 @@ _CCCL_HOST_DEVICE thrust::pair stable_partitio
* Iterator, and \p InputIterator's \c value_type is convertible to \p OutputIterator1 and \p OutputIterator2's \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator1 is a model of Output Iterator. \tparam OutputIterator2 is a
* model of Output Iterator. \tparam Predicate
* is a model of Predicate.
@@ -1181,7 +1181,7 @@ thrust::pair stable_partition_copy(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* Predicate is a model of Predicate.
*
* \pre The range [first, last) shall be partitioned by \p pred.
@@ -1233,7 +1233,7 @@ _CCCL_HOST_DEVICE ForwardIterator partition_point(
* and none_of(mid, last, pred) are both true.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* Predicate is a model of Predicate.
*
* \pre The range [first, last) shall be partitioned by \p pred.
@@ -1296,7 +1296,7 @@ ForwardIterator partition_point(ForwardIterator first, ForwardIterator last, Pre
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* Predicate is a model of Predicate.
*
* \code
@@ -1345,7 +1345,7 @@ _CCCL_HOST_DEVICE bool is_partitioned(
* to \p pred, or if [first, last) is empty. \c false, otherwise.
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type. \tparam
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p Predicate's argument type. \tparam
* Predicate is a model of Predicate.
*
* \code
diff --git a/thrust/thrust/reduce.h b/thrust/thrust/reduce.h
index 7ef7152d61e..49ff978bbf5 100644
--- a/thrust/thrust/reduce.h
+++ b/thrust/thrust/reduce.h
@@ -242,11 +242,10 @@ T reduce(InputIterator first, InputIterator last, T init);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator and \c InputIterator's \c value_type is convertible to \c T. \tparam T is a model of Assignable, and is convertible to \p
- * BinaryFunction's \c first_argument_type and \c second_argument_type. \tparam BinaryFunction is a model of Binary Function, and \p
- * BinaryFunction's \c result_type is convertible to \p OutputType.
+ * Iterator and \c InputIterator's \c value_type is convertible to \c T.
+ * \tparam T is a model of Assignable, and is
+ * convertible to \p BinaryFunction's first and second argument type.
+ * \tparam BinaryFunction The function's return type must be convertible to \p OutputType.
*
* The following code snippet demonstrates how to use \p reduce to
* compute the maximum value of a sequence of integers using the \p thrust::host execution policy
@@ -298,11 +297,10 @@ _CCCL_HOST_DEVICE T reduce(
* \return The result of the reduction.
*
* \tparam InputIterator is a model of Input
- * Iterator and \c InputIterator's \c value_type is convertible to \c T. \tparam T is a model of Assignable, and is convertible to \p
- * BinaryFunction's \c first_argument_type and \c second_argument_type. \tparam BinaryFunction is a model of Binary Function, and \p
- * BinaryFunction's \c result_type is convertible to \p OutputType.
+ * Iterator and \c InputIterator's \c value_type is convertible to \c T.
+ * \tparam T is a model of Assignable, and is
+ * convertible to \p BinaryFunction's first and second argument type.
+ * \tparam BinaryFunction The function's return type must be convertible to \p OutputType.
*
* The following code snippet demonstrates how to use \p reduce to
* compute the maximum value of a sequence of integers.
@@ -628,9 +626,8 @@ thrust::pair reduce_by_key(
* InputIterator1's \c value_type is convertible to \c OutputIterator1's \c value_type. \tparam OutputIterator2 is a
* model of Output Iterator and and \p
* InputIterator2's \c value_type is convertible to \c OutputIterator2's \c value_type. \tparam BinaryPredicate is a
- * model of Binary Predicate. \tparam
- * BinaryFunction is a model of Binary
- * Function and \c BinaryFunction's \c result_type is convertible to \c OutputIterator2's \c value_type.
+ * model of Binary Predicate.
+ * \tparam BinaryFunction The function's return type must be convertible to \c OutputIterator2's \c value_type.
*
* \pre The input ranges shall not overlap either output range.
*
@@ -708,9 +705,8 @@ _CCCL_HOST_DEVICE thrust::pair reduce_by_key(
* InputIterator1's \c value_type is convertible to \c OutputIterator1's \c value_type. \tparam OutputIterator2 is a
* model of Output Iterator and and \p
* InputIterator2's \c value_type is convertible to \c OutputIterator2's \c value_type. \tparam BinaryPredicate is a
- * model of Binary Predicate. \tparam
- * BinaryFunction is a model of Binary
- * Function and \c BinaryFunction's \c result_type is convertible to \c OutputIterator2's \c value_type.
+ * model of Binary Predicate.
+ * \tparam BinaryFunction The function's return type must be convertible to \c OutputIterator2's \c value_type.
*
* \pre The input ranges shall not overlap either output range.
*
diff --git a/thrust/thrust/remove.h b/thrust/thrust/remove.h
index 80dfa786dcc..6a047632652 100644
--- a/thrust/thrust/remove.h
+++ b/thrust/thrust/remove.h
@@ -281,7 +281,7 @@ OutputIterator remove_copy(InputIterator first, InputIterator last, OutputIterat
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
* Iterator, \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p Predicate's
- * \c argument_type. \tparam Predicate is a model of Predicate.
*
* The following code snippet demonstrates how to use \p remove_if to remove
@@ -353,7 +353,7 @@ _CCCL_HOST_DEVICE ForwardIterator remove_if(
*
* \tparam ForwardIterator is a model of Forward
* Iterator, \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p Predicate's
- * \c argument_type. \tparam Predicate is a model of Predicate.
*
* The following code snippet demonstrates how to use \p remove_if to remove
@@ -422,7 +422,7 @@ ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, Predicate
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
* Iterator, \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types,
- * and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type.
+ * and \p InputIterator's \c value_type is convertible to \p Predicate's argument type.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam Predicate is a model of Predicate.
@@ -484,7 +484,7 @@ _CCCL_HOST_DEVICE OutputIterator remove_copy_if(
*
* \tparam InputIterator is a model of Input
* Iterator, \p InputIterator's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types,
- * and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type.
+ * and \p InputIterator's \c value_type is convertible to \p Predicate's argument type.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam Predicate is a model of Predicate.
@@ -546,7 +546,7 @@ OutputIterator remove_copy_if(InputIterator first, InputIterator last, OutputIte
* \tparam ForwardIterator is a model of Forward
* Iterator and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The range [first, last) shall not overlap the range [result, result + (last - first)).
@@ -606,7 +606,7 @@ _CCCL_HOST_DEVICE ForwardIterator remove_if(
* \tparam ForwardIterator is a model of Forward
* Iterator and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate.
*
* \pre The range [first, last) shall not overlap the range [result, result + (last - first)).
@@ -664,7 +664,7 @@ ForwardIterator remove_if(ForwardIterator first, ForwardIterator last, InputIter
* Iterator, \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate.
*
@@ -728,7 +728,7 @@ _CCCL_HOST_DEVICE OutputIterator remove_copy_if(
* Iterator, \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c
* value_types. \tparam InputIterator2 is a model of Input Iterator, and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate.
*
diff --git a/thrust/thrust/replace.h b/thrust/thrust/replace.h
index 5d0b58e6d06..7e32ef41eb9 100644
--- a/thrust/thrust/replace.h
+++ b/thrust/thrust/replace.h
@@ -154,7 +154,7 @@ void replace(ForwardIterator first, ForwardIterator last, const T& old_value, co
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
* Iterator, \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p Predicate's
- * \c argument_type. \tparam Predicate is a model of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
* ForwardIterator's \c value_type.
@@ -217,7 +217,7 @@ _CCCL_HOST_DEVICE void replace_if(
*
* \tparam ForwardIterator is a model of Forward
* Iterator, \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p Predicate's
- * \c argument_type. \tparam Predicate is a model of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
* ForwardIterator's \c value_type.
@@ -280,7 +280,7 @@ void replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, con
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
* ForwardIterator's \c value_type.
@@ -352,7 +352,7 @@ _CCCL_HOST_DEVICE void replace_if(
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable. \tparam InputIterator is a model of Input Iterator, and \p InputIterator's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam Predicate is a model of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
* ForwardIterator's \c value_type.
@@ -536,7 +536,7 @@ replace_copy(InputIterator first, InputIterator last, OutputIterator result, con
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
Iterator,
- * and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type.
+ * and \p InputIterator's \c value_type is convertible to \p Predicate's argument type.
* \tparam OutputIterator is a model of Output
Iterator.
* \tparam Predicate is a model of Predicate.
@@ -607,7 +607,7 @@ _CCCL_HOST_DEVICE OutputIterator replace_copy_if(
*
* \tparam InputIterator is a model of Input
Iterator,
- * and \p InputIterator's \c value_type is convertible to \p Predicate's \c argument_type.
+ * and \p InputIterator's \c value_type is convertible to \p Predicate's argument type.
* \tparam OutputIterator is a model of Output
Iterator.
* \tparam Predicate is a model of Predicate.
@@ -678,7 +678,7 @@ replace_copy_if(InputIterator first, InputIterator last, OutputIterator result,
* \tparam InputIterator1 is a model of Input
* Iterator. \tparam InputIterator2 is a model of Input Iterator and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
@@ -761,7 +761,7 @@ _CCCL_HOST_DEVICE OutputIterator replace_copy_if(
* \tparam InputIterator1 is a model of Input
* Iterator. \tparam InputIterator2 is a model of Input Iterator and \p InputIterator2's \c
- * value_type is convertible to \p Predicate's \c argument_type. \tparam OutputIterator is a model of Output Iterator. \tparam Predicate is a model
* of Predicate. \tparam T is a model of Assignable, and \p T is convertible to \p
diff --git a/thrust/thrust/scan.h b/thrust/thrust/scan.h
index f0711704a83..bde015fe978 100644
--- a/thrust/thrust/scan.h
+++ b/thrust/thrust/scan.h
@@ -180,11 +180,8 @@ OutputIterator inclusive_scan(InputIterator first, InputIterator last, OutputIte
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
* and \c OutputIterator's \c value_type is convertible to
- * both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * both \c AssociativeOperator's first and second argument type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range
* [result, result + (last - first)) shall not overlap otherwise.
@@ -236,11 +233,8 @@ _CCCL_HOST_DEVICE OutputIterator inclusive_scan(
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
* and \c OutputIterator's \c value_type is convertible to
- * both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * both \c AssociativeOperator's first and second argument type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range
* [result, result + (last - first)) shall not overlap otherwise.
@@ -289,12 +283,9 @@ inclusive_scan(InputIterator first, InputIterator last, OutputIterator result, A
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
- * and \c OutputIterator's \c value_type is convertible to both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
+ * and \c OutputIterator's \c value_type is convertible to both \c AssociativeOperator's first and second argument type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -341,12 +332,9 @@ _CCCL_HOST_DEVICE OutputIterator inclusive_scan(
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
- * and \c OutputIterator's \c value_type is convertible to both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
+ * and \c OutputIterator's \c value_type is convertible to both \c AssociativeOperator's first and second argument type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -594,12 +582,9 @@ OutputIterator exclusive_scan(InputIterator first, InputIterator last, OutputIte
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
* and \c OutputIterator's \c value_type is convertible to
- * both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
+ * both \c AssociativeOperator's first and second argument type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range
* [result, result + (last - first)) shall not overlap otherwise.
@@ -657,12 +642,9 @@ _CCCL_HOST_DEVICE OutputIterator exclusive_scan(
* Iterator and \c InputIterator's \c value_type is convertible to \c OutputIterator's \c value_type. \tparam
* OutputIterator is a model of Output Iterator
* and \c OutputIterator's \c value_type is convertible to
- * both \c AssociativeOperator's \c first_argument_type and
- * \c second_argument_type.
+ * both \c AssociativeOperator's first and second argument type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first may equal \p result but the range [first, last) and the range
* [result, result + (last - first)) shall not overlap otherwise.
@@ -1014,9 +996,7 @@ OutputIterator inclusive_scan_by_key(
* href="https://en.cppreference.com/w/cpp/iterator/output_iterator">Output Iterator, and if \c x and \c y are
* objects of \c OutputIterator's \c value_type, then binary_op(x,y) is defined. \tparam BinaryPredicate is a
* model of Binary Predicate. \tparam
- * AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first1 may equal \p result but the range [first1, last1) and the range
* [result, result + (last1 - first1)) shall not overlap otherwise.
@@ -1098,9 +1078,7 @@ _CCCL_HOST_DEVICE OutputIterator inclusive_scan_by_key(
* href="https://en.cppreference.com/w/cpp/iterator/output_iterator">Output Iterator, and if \c x and \c y are
* objects of \c OutputIterator's \c value_type, then binary_op(x,y) is defined. \tparam BinaryPredicate is a
* model of Binary Predicate. \tparam
- * AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first1 may equal \p result but the range [first1, last1) and the range
* [result, result + (last1 - first1)) shall not overlap otherwise.
@@ -1545,9 +1523,8 @@ OutputIterator exclusive_scan_by_key(
* href="https://en.cppreference.com/w/cpp/iterator/output_iterator">Output Iterator, and if \c x and \c y are
* objects of \c OutputIterator's \c value_type, then binary_op(x,y) is defined. \tparam T is convertible to \c
* OutputIterator's \c value_type. \tparam BinaryPredicate is a model of Binary Predicate. \tparam AssociativeOperator
- * is a model of Binary Function and
- * \c AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * href="https://en.cppreference.com/w/cpp/named_req/BinaryPredicate">Binary Predicate.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first1 may equal \p result but the range [first1, last1) and the range
* [result, result + (last1 - first1)) shall not overlap otherwise.
@@ -1637,9 +1614,8 @@ _CCCL_HOST_DEVICE OutputIterator exclusive_scan_by_key(
* href="https://en.cppreference.com/w/cpp/iterator/output_iterator">Output Iterator, and if \c x and \c y are
* objects of \c OutputIterator's \c value_type, then binary_op(x,y) is defined. \tparam T is convertible to \c
* OutputIterator's \c value_type. \tparam BinaryPredicate is a model of Binary Predicate. \tparam AssociativeOperator
- * is a model of Binary Function and
- * \c AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * href="https://en.cppreference.com/w/cpp/named_req/BinaryPredicate">Binary Predicate.
+ * \tparam AssociativeOperator The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* \pre \p first1 may equal \p result but the range [first1, last1) and the range
* [result, result + (last1 - first1)) shall not overlap otherwise.
diff --git a/thrust/thrust/scatter.h b/thrust/thrust/scatter.h
index de46c812fb4..4ee4e031bb1 100644
--- a/thrust/thrust/scatter.h
+++ b/thrust/thrust/scatter.h
@@ -303,7 +303,7 @@ void scatter_if(
* Iterator and \c InputIterator2's \c value_type must be convertible to \c RandomAccessIterator's \c
* difference_type. \tparam InputIterator3 must be a model of Input Iterator and \c InputIterator3's \c
- * value_type must be convertible to \c Predicate's \c argument_type. \tparam RandomAccessIterator must be a model of Random Access iterator. \tparam
* Predicate must be a model of Predicate.
*
@@ -383,7 +383,7 @@ _CCCL_HOST_DEVICE void scatter_if(
* Iterator and \c InputIterator2's \c value_type must be convertible to \c RandomAccessIterator's \c
* difference_type. \tparam InputIterator3 must be a model of Input Iterator and \c InputIterator3's \c
- * value_type must be convertible to \c Predicate's \c argument_type. \tparam RandomAccessIterator must be a model of Random Access iterator. \tparam
* Predicate must be a model of Predicate.
*
diff --git a/thrust/thrust/set_operations.h b/thrust/thrust/set_operations.h
index f2b3f2c74bd..eaaebe7c062 100644
--- a/thrust/thrust/set_operations.h
+++ b/thrust/thrust/set_operations.h
@@ -214,10 +214,10 @@ OutputIterator set_difference(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of Input
- * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's \c first_argument_type. and
+ * Iterator, \p InputIterator1's \c value_type is convertible to \p StrictWeakCompare's first argument type. and
* \p InputIterator1's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types. \tparam
* InputIterator2 is a model of Input Iterator,
- * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's \c second_argument_type.
+ * \p InputIterator2's \c value_type is convertible to \p StrictWeakCompare's second argument type.
* and \p InputIterator2's \c value_type is convertible to a type in \p OutputIterator's set of \c value_types.
* \tparam OutputIterator is a model of Output
* Iterator. \tparam StrictWeakCompare is a model of Random Access Iterator, \p
* RandomAccessIterator is mutable, and \p RandomAccessIterator's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
*
* The following code demonstrates how to sort integers in descending order
@@ -191,7 +191,7 @@ sort(const thrust::detail::execution_policy_base& exec,
* \tparam RandomAccessIterator is a model of Random Access Iterator, \p
* RandomAccessIterator is mutable, and \p RandomAccessIterator's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
*
* The following code demonstrates how to sort integers in descending order
@@ -333,7 +333,7 @@ void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
* \tparam RandomAccessIterator is a model of Random Access Iterator, \p
* RandomAccessIterator is mutable, and \p RandomAccessIterator's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
*
* The following code demonstrates how to sort integers in descending order
@@ -383,7 +383,7 @@ _CCCL_HOST_DEVICE void stable_sort(
* \tparam RandomAccessIterator is a model of Random Access Iterator, \p
* RandomAccessIterator is mutable, and \p RandomAccessIterator's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
*
* The following code demonstrates how to sort integers in descending order
@@ -555,7 +555,7 @@ void sort_by_key(RandomAccessIterator1 keys_first, RandomAccessIterator1 keys_la
* \tparam RandomAccessIterator1 is a model of Random Access Iterator, \p
* RandomAccessIterator1 is mutable, and \p RandomAccessIterator1's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam RandomAccessIterator2 is a model of
+ * StrictWeakOrdering's first argument type and second argument type. \tparam RandomAccessIterator2 is a model of
* Random Access Iterator, and \p
* RandomAccessIterator2 is mutable. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
@@ -619,7 +619,7 @@ _CCCL_HOST_DEVICE void sort_by_key(
* \tparam RandomAccessIterator1 is a model of Random Access Iterator, \p
* RandomAccessIterator1 is mutable, and \p RandomAccessIterator1's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam RandomAccessIterator2 is a model of
+ * StrictWeakOrdering's first argument type and second argument type. \tparam RandomAccessIterator2 is a model of
* Random Access Iterator, and \p
* RandomAccessIterator2 is mutable. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
@@ -804,7 +804,7 @@ void stable_sort_by_key(
* \tparam RandomAccessIterator1 is a model of Random Access Iterator, \p
* RandomAccessIterator1 is mutable, and \p RandomAccessIterator1's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam RandomAccessIterator2 is a model of
+ * StrictWeakOrdering's first argument type and second argument type. \tparam RandomAccessIterator2 is a model of
* Random Access Iterator, and \p
* RandomAccessIterator2 is mutable. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
@@ -871,7 +871,7 @@ _CCCL_HOST_DEVICE void stable_sort_by_key(
* \tparam RandomAccessIterator1 is a model of Random Access Iterator, \p
* RandomAccessIterator1 is mutable, and \p RandomAccessIterator1's \c value_type is convertible to \p
- * StrictWeakOrdering's \c first_argument_type and \c second_argument_type. \tparam RandomAccessIterator2 is a model of
+ * StrictWeakOrdering's first argument type and second argument type. \tparam RandomAccessIterator2 is a model of
* Random Access Iterator, and \p
* RandomAccessIterator2 is mutable. \tparam StrictWeakOrdering is a model of Strict Weak Ordering.
@@ -1043,8 +1043,8 @@ bool is_sorted(ForwardIterator first, ForwardIterator last);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \c StrictWeakOrdering's \c
- * first_argument_type and \c second_argument_type. \tparam Compare is a model of , and \p ForwardIterator's \c value_type is convertible to both \c StrictWeakOrdering's first and second
+ * argument type. \tparam Compare is a model of Strict Weak Ordering.
*
* The following code snippet demonstrates how to use \p is_sorted to test whether the
@@ -1100,8 +1100,9 @@ is_sorted(const thrust::detail::execution_policy_base& exec,
* \return \c true, if the sequence is sorted according to comp; \c false, otherwise.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to both \c StrictWeakOrdering's \c
- * first_argument_type and \c second_argument_type. \tparam Compare is a model of , and \p ForwardIterator's \c value_type is convertible to both \c StrictWeakOrdering's first and second
+ * argument type.
+ * \tparam Compare is a model of Strict Weak Ordering.
*
* The following code snippet demonstrates how to use \p is_sorted to test whether the
@@ -1234,7 +1235,7 @@ ForwardIterator is_sorted_until(ForwardIterator first, ForwardIterator last);
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator and \p ForwardIterator's \c value_type is convertible to \p Compare's \c argument_type. \tparam Compare
+ * Iterator and \p ForwardIterator's \c value_type is convertible to \p Compare's argument type. \tparam Compare
* is a model of Strict Weak Ordering.
*
* The following code snippet demonstrates how to use \p is_sorted_until to find the first position
@@ -1280,7 +1281,7 @@ _CCCL_HOST_DEVICE ForwardIterator is_sorted_until(
* \return The last iterator in the input range for which it is sorted.
*
* \tparam ForwardIterator is a model of Forward
- * Iterator and \p ForwardIterator's \c value_type is convertible to \p Compare's \c argument_type. \tparam Compare
+ * Iterator and \p ForwardIterator's \c value_type is convertible to \p Compare's argument type. \tparam Compare
* is a model of Strict Weak Ordering.
*
* The following code snippet demonstrates how to use \p is_sorted_until to find the first position
diff --git a/thrust/thrust/tabulate.h b/thrust/thrust/tabulate.h
index 300a32363ef..ad55322d118 100644
--- a/thrust/thrust/tabulate.h
+++ b/thrust/thrust/tabulate.h
@@ -54,9 +54,8 @@ THRUST_NAMESPACE_BEGIN
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable, and if \c x and \c y are objects of \c ForwardIterator's \c
* value_type, then x + y is defined, and if \c T is \p ForwardIterator's \c value_type, then T(0) is
- * defined. \tparam UnaryOperation is a model of Unary Function and \c UnaryFunction's
- * \c result_type is convertible to \c OutputIterator's \c value_type.
+ * defined.
+ * \tparam UnaryOperation The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* The following code snippet demonstrates how to use \p tabulate to generate the first \c n non-positive integers
* using the \p thrust::host execution policy for parallelization:
@@ -96,9 +95,8 @@ tabulate(const thrust::detail::execution_policy_base& exec,
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable, and if \c x and \c y are objects of \c ForwardIterator's \c
* value_type, then x + y is defined, and if \c T is \p ForwardIterator's \c value_type, then T(0) is
- * defined. \tparam UnaryOperation is a model of Unary Function and \c UnaryFunction's
- * \c result_type is convertible to \c OutputIterator's \c value_type.
+ * defined.
+ * \tparam UnaryOperation The function's return type must be convertible to \c OutputIterator's \c value_type.
*
* The following code snippet demonstrates how to use \p tabulate to generate the first \c n non-positive integers:
*
diff --git a/thrust/thrust/transform.h b/thrust/thrust/transform.h
index 9c96f9ca6f5..c1689eecddd 100644
--- a/thrust/thrust/transform.h
+++ b/thrust/thrust/transform.h
@@ -59,7 +59,7 @@ THRUST_NAMESPACE_BEGIN
//!
//! \tparam DerivedPolicy The name of the derived execution policy.
//! \tparam InputIterator is a model of Input
-//! Iterator and \c InputIterator's \c value_type is convertible to \c UnaryFunction's \c argument_type. \tparam
+//! Iterator and \c InputIterator's \c value_type is convertible to \c UnaryFunction's argument type. \tparam
//! OutputIterator is a model of Output
//! Iterator.
//! \tparam UnaryFunction is a unary function type which's return type is convertible to \c OutputIterator's \c
@@ -113,7 +113,7 @@ _CCCL_HOST_DEVICE OutputIterator transform(
//! \return The end of the output sequence.
//!
//! \tparam InputIterator is a model of Input
-//! Iterator and \c InputIterator's \c value_type is convertible to \c UnaryFunction's \c argument_type.
+//! Iterator and \c InputIterator's \c value_type is convertible to \c UnaryFunction's argument type.
//! \tparam OutputIterator is a model of Output
//! Iterator.
//! \tparam UnaryFunction is a unary function type which's return type is convertible to \c OutputIterator's \c
@@ -165,9 +165,9 @@ OutputIterator transform(InputIterator first, InputIterator last, OutputIterator
//!
//! \tparam DerivedPolicy The name of the derived execution policy.
//! \tparam InputIterator1 is a model of Input
-//! Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's \c first_argument_type.
+//! Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's first argument type.
//! \tparam InputIterator2 is a model of Input
-//! Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's \c second_argument_type.
+//! Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's second argument type.
//! \tparam OutputIterator is a model of Output
//! Iterator.
//! \tparam BinaryFunction is a binary function type which's return type is convertible to \c OutputIterator's \c
@@ -231,9 +231,9 @@ _CCCL_HOST_DEVICE OutputIterator transform(
//! \return The end of the output sequence.
//!
//! \tparam InputIterator1 is a model of Input
-//! Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's \c first_argument_type.
+//! Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's first argument type.
//! \tparam InputIterator2 is a model of Input
-//! Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's \c second_argument_type.
+//! Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's second argument type.
//! \tparam OutputIterator is a model of Output
//! Iterator.
//! \tparam BinaryFunction is a binary function type which's return type is convertible to \c OutputIterator's \c
@@ -296,12 +296,11 @@ transform(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Ou
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \c InputIterator's \c value_type is convertible to \c Predicate's \c argument_type, and \c
- * InputIterator's \c value_type is convertible to \c UnaryFunction's \c argument_type. \tparam ForwardIterator is a
- * model of Forward Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and \c UnaryFunction's \c result_type is convertible to \c OutputIterator's \c value_type. \tparam
- * Predicate is a model of Predicate.
+ * Iterator, and \c InputIterator's \c value_type is convertible to \c Predicate's argument type, and \c
+ * InputIterator's \c value_type is convertible to \c UnaryFunction's argument type. \tparam ForwardIterator is a
+ * model of Forward Iterator.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first may equal \p result, but the range [first, last) shall not overlap the range [result,
* result + (last - first)) otherwise.
@@ -374,12 +373,11 @@ _CCCL_HOST_DEVICE ForwardIterator transform_if(
* \return The end of the output sequence.
*
* \tparam InputIterator is a model of Input
- * Iterator, and \c InputIterator's \c value_type is convertible to \c Predicate's \c argument_type, and \c
- * InputIterator's \c value_type is convertible to \c UnaryFunction's \c argument_type. \tparam ForwardIterator is a
- * model of Forward Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and \c UnaryFunction's \c result_type is convertible to \c OutputIterator's \c value_type. \tparam
- * Predicate is a model of Predicate.
+ * Iterator, and \c InputIterator's \c value_type is convertible to \c Predicate's argument type, and \c
+ * InputIterator's \c value_type is convertible to \c UnaryFunction's argument type. \tparam ForwardIterator is a
+ * model of Forward Iterator.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first may equal \p result, but the range [first, last) shall not overlap the range [result,
* result + (last - first)) otherwise.
@@ -446,14 +444,13 @@ transform_if(InputIterator first, InputIterator last, ForwardIterator result, Un
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator and \c InputIterator1's \c value_type is convertible to \c UnaryFunction's \c argument_type. \tparam
+ * Iterator and \c InputIterator1's \c value_type is convertible to \c UnaryFunction's argument type. \tparam
* InputIterator2 is a model of Input Iterator
- * and \c InputIterator2's \c value_type is convertible to \c Predicate's \c argument_type.
+ * and \c InputIterator2's \c value_type is convertible to \c Predicate's argument type.
* \tparam ForwardIterator is a model of Forward
- * Iterator. \tparam UnaryFunction is a model of Unary Function and \c UnaryFunction's
- * \c result_type is convertible to \c OutputIterator's \c value_type. \tparam Predicate is a model of Predicate.
+ * Iterator.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first may equal \p result, but the range [first, last) shall not overlap the range [result,
* result + (last - first)) otherwise. \pre \p stencil may equal \p result, but the range [stencil, stencil +
@@ -522,14 +519,13 @@ _CCCL_HOST_DEVICE ForwardIterator transform_if(
* \return The end of the output sequence.
*
* \tparam InputIterator1 is a model of Input
- * Iterator and \c InputIterator1's \c value_type is convertible to \c UnaryFunction's \c argument_type. \tparam
+ * Iterator and \c InputIterator1's \c value_type is convertible to \c UnaryFunction's argument type. \tparam
* InputIterator2 is a model of Input Iterator
- * and \c InputIterator2's \c value_type is convertible to \c Predicate's \c argument_type.
+ * and \c InputIterator2's \c value_type is convertible to \c Predicate's argument type.
* \tparam ForwardIterator is a model of Forward
- * Iterator. \tparam UnaryFunction is a model of Unary Function and \c UnaryFunction's
- * \c result_type is convertible to \c OutputIterator's \c value_type. \tparam Predicate is a model of Predicate.
+ * Iterator.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first may equal \p result, but the range [first, last) shall not overlap the range [result,
* result + (last - first)) otherwise. \pre \p stencil may equal \p result, but the range [stencil, stencil +
@@ -598,14 +594,13 @@ ForwardIterator transform_if(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator1 is a model of Input
- * Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's \c first_argument_type.
+ * Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's \c second_argument_type.
+ * Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's second argument type.
* \tparam ForwardIterator is a model of Forward
- * Iterator. \tparam BinaryFunction is a model of Binary Function and \c
- * BinaryFunction's \c result_type is convertible to \c OutputIterator's \c value_type. \tparam Predicate is a model of
- * Predicate.
+ * Iterator.
+ * \tparam BinaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first1 may equal \p result, but the range [first1, last1) shall not overlap the range [result,
* result + (last1 - first1)) otherwise. \pre \p first2 may equal \p result, but the range [first2, first2 +
@@ -682,14 +677,13 @@ _CCCL_HOST_DEVICE ForwardIterator transform_if(
* \return The end of the output sequence.
*
* \tparam InputIterator1 is a model of Input
- * Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's \c first_argument_type.
+ * Iterator and \c InputIterator1's \c value_type is convertible to \c BinaryFunction's first argument type.
* \tparam InputIterator2 is a model of Input
- * Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's \c second_argument_type.
+ * Iterator and \c InputIterator2's \c value_type is convertible to \c BinaryFunction's second argument type.
* \tparam ForwardIterator is a model of Forward
- * Iterator. \tparam BinaryFunction is a model of Binary Function and \c
- * BinaryFunction's \c result_type is convertible to \c OutputIterator's \c value_type. \tparam Predicate is a model of
- * Predicate.
+ * Iterator.
+ * \tparam BinaryFunction The function's return type must be convertible to \c OutputIterator's \c value_type.
+ * \tparam Predicate is a model of Predicate.
*
* \pre \p first1 may equal \p result, but the range [first1, last1) shall not overlap the range [result,
* result + (last1 - first1)) otherwise. \pre \p first2 may equal \p result, but the range [first2, first2 +
diff --git a/thrust/thrust/transform_reduce.h b/thrust/thrust/transform_reduce.h
index 227dd2d2e6e..681553fbe75 100644
--- a/thrust/thrust/transform_reduce.h
+++ b/thrust/thrust/transform_reduce.h
@@ -66,13 +66,12 @@ THRUST_NAMESPACE_BEGIN
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * UnaryFunction is a model of Unary
- * Function, and \p UnaryFunction's \c result_type is convertible to \c OutputType. \tparam OutputType is a model of
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputType.
+ * \tparam OutputType is a model of
* Assignable, and is convertible to \p
- * BinaryFunction's \c first_argument_type and \c second_argument_type. \tparam BinaryFunction is a model of Binary Function, and \p
- * BinaryFunction's \c result_type is convertible to \p OutputType.
+ * BinaryFunction's first and second argument type.
+ * \tparam BinaryFunction The function's return type must be convertible to \p OutputType.
*
* The following code snippet demonstrates how to use \p transform_reduce
* to compute the maximum value of the absolute value of the elements
@@ -84,7 +83,7 @@ THRUST_NAMESPACE_BEGIN
* #include
*
* template
- * struct absolute_value : public unary_function
+ * struct absolute_value
* {
* __host__ __device__ T operator()(const T &x) const
* {
@@ -141,13 +140,12 @@ _CCCL_HOST_DEVICE OutputType transform_reduce(
* \return The result of the transformed reduction.
*
* \tparam InputIterator is a model of Input
- * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's \c argument_type. \tparam
- * UnaryFunction is a model of Unary
- * Function, and \p UnaryFunction's \c result_type is convertible to \c OutputType. \tparam OutputType is a model of
+ * Iterator, and \p InputIterator's \c value_type is convertible to \p UnaryFunction's argument type.
+ * \tparam UnaryFunction The function's return type must be convertible to \c OutputType.
+ * \tparam OutputType is a model of
* Assignable, and is convertible to \p
- * BinaryFunction's \c first_argument_type and \c second_argument_type. \tparam BinaryFunction is a model of Binary Function, and \p
- * BinaryFunction's \c result_type is convertible to \p OutputType.
+ * BinaryFunction's first and second argument type.
+ * \tparam BinaryFunction The function's return type must be convertible to \p OutputType.
*
* The following code snippet demonstrates how to use \p transform_reduce
* to compute the maximum value of the absolute value of the elements
@@ -158,7 +156,7 @@ _CCCL_HOST_DEVICE OutputType transform_reduce(
* #include
*
* template
- * struct absolute_value : public unary_function
+ * struct absolute_value
* {
* __host__ __device__ T operator()(const T &x) const
* {
diff --git a/thrust/thrust/transform_scan.h b/thrust/thrust/transform_scan.h
index 6ec5d8f2e21..d1bb7679fcf 100644
--- a/thrust/thrust/transform_scan.h
+++ b/thrust/thrust/transform_scan.h
@@ -70,12 +70,11 @@ THRUST_NAMESPACE_BEGIN
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type. \tparam OutputIterator
- * is a model of Output Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is convertible
- * to \c OutputIterator's \c value_type. \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * is a model of Output Iterator.
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The functions return type must be
+ * convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -135,12 +134,11 @@ _CCCL_HOST_DEVICE OutputIterator transform_inclusive_scan(
*
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type. \tparam OutputIterator
- * is a model of Output Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is convertible
- * to \c OutputIterator's \c value_type. \tparam AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * is a model of Output Iterator.
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The function's return type is convertible
+ * to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -195,13 +193,11 @@ OutputIterator transform_inclusive_scan(
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type.
* \tparam OutputIterator is a model of Output
* Iterator.
- * \tparam UnaryFunction is a model of
- * Unary Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The function's return type is
* convertible to \c OutputIterator's \c value_type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of
- * Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -266,13 +262,11 @@ _CCCL_HOST_DEVICE OutputIterator transform_inclusive_scan(
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type.
* \tparam OutputIterator is a model of Output
* Iterator.
- * \tparam UnaryFunction is a model of
- * Unary Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The function's return type is
* convertible to \c OutputIterator's \c value_type.
* \tparam T is convertible to \c OutputIterator's \c value_type.
- * \tparam AssociativeOperator is a model of
- * Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -331,13 +325,12 @@ OutputIterator transform_inclusive_scan(
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type. \tparam OutputIterator
- * is a model of Output Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is convertible
- * to \c OutputIterator's \c value_type. \tparam T is convertible to \c OutputIterator's \c value_type. \tparam
- * AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * is a model of Output Iterator.
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The function's return type must be
+ * convertible to \c OutputIterator's \c value_type.
+ * \tparam T is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
@@ -400,13 +393,12 @@ _CCCL_HOST_DEVICE OutputIterator transform_exclusive_scan(
*
* \tparam InputIterator is a model of Input
* Iterator and \c InputIterator's \c value_type is convertible to \c unary_op's input type. \tparam OutputIterator
- * is a model of Output Iterator. \tparam
- * UnaryFunction is a model of Unary
- * Function and accepts inputs of \c InputIterator's \c value_type. \c UnaryFunction's result_type is convertible
- * to \c OutputIterator's \c value_type. \tparam T is convertible to \c OutputIterator's \c value_type. \tparam
- * AssociativeOperator is a model of Binary Function and \c
- * AssociativeOperator's \c result_type is convertible to \c OutputIterator's \c value_type.
+ * is a model of Output Iterator.
+ * \tparam UnaryFunction accepts inputs of \c InputIterator's \c value_type. The function's return type must be
+ * convertible to \c OutputIterator's \c value_type.
+ * \tparam T is convertible to \c OutputIterator's \c value_type.
+ * \tparam AssociativeOperator is a binary function and the function's return type must be convertible to \c
+ * OutputIterator's \c value_type.
*
* \pre \p first may equal \p result, but the range [first, last) and the range [result, result + (last -
* first)) shall not overlap otherwise.
diff --git a/thrust/thrust/unique.h b/thrust/thrust/unique.h
index e5711bd2d40..6310b17ebd9 100644
--- a/thrust/thrust/unique.h
+++ b/thrust/thrust/unique.h
@@ -145,7 +145,7 @@ ForwardIterator unique(ForwardIterator first, ForwardIterator last);
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p
- * BinaryPredicate's \c first_argument_type and to \p BinaryPredicate's \c second_argument_type. \tparam BinaryPredicate
+ * BinaryPredicate's first argument type and to \p BinaryPredicate's second argument type. \tparam BinaryPredicate
* is a model of Binary Predicate.
*
* The following code snippet demonstrates how to use \p unique to
@@ -192,7 +192,7 @@ _CCCL_HOST_DEVICE ForwardIterator unique(
*
* \tparam ForwardIterator is a model of Forward
* Iterator, and \p ForwardIterator is mutable, and \p ForwardIterator's \c value_type is convertible to \p
- * BinaryPredicate's \c first_argument_type and to \p BinaryPredicate's \c second_argument_type. \tparam BinaryPredicate
+ * BinaryPredicate's first argument type and to \p BinaryPredicate's second argument type. \tparam BinaryPredicate
* is a model of Binary Predicate.
*
* The following code snippet demonstrates how to use \p unique to
@@ -938,8 +938,8 @@ thrust::pair unique_by_key_copy(
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type
- * and to \p BinaryPredicate's \c second_argument_type. \tparam BinaryPredicate is a model of , and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's first argument type
+ * and to \p BinaryPredicate's second argument type. \tparam BinaryPredicate is a model of Binary Predicate.
*
* The following code snippet demonstrates how to use \p unique_count to
@@ -982,8 +982,8 @@ _CCCL_HOST_DEVICE typename thrust::iterator_traits::difference_
*
* \tparam DerivedPolicy The name of the derived execution policy.
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type
- * and to \p BinaryPredicate's \c second_argument_type. \tparam BinaryPredicate is a model of , and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's first argument type
+ * and to \p BinaryPredicate's second argument type. \tparam BinaryPredicate is a model of Binary Predicate.
*
* The following code snippet demonstrates how to use \p unique_count to
@@ -1019,8 +1019,8 @@ _CCCL_HOST_DEVICE typename thrust::iterator_traits::difference_
* \return The number of runs of equal elements in [first, new_last)
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type
- * and to \p BinaryPredicate's \c second_argument_type.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's first argument type
+ * and to \p BinaryPredicate's second argument type.
* \tparam BinaryPredicate is a model of Binary Predicate.
*
@@ -1056,8 +1056,8 @@ unique_count(ForwardIterator first, ForwardIterator last, BinaryPredicate binary
* \return The number of runs of equal elements in [first, new_last)
*
* \tparam ForwardIterator is a model of Forward
- * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's \c first_argument_type
- * and to \p BinaryPredicate's \c second_argument_type.
+ * Iterator, and \p ForwardIterator's \c value_type is convertible to \p BinaryPredicate's first argument type
+ * and to \p BinaryPredicate's second argument type.
* \tparam BinaryPredicate is a model of Binary Predicate.
*