tmp/tmp8od_bh0f/{from.md → to.md}
RENAMED
|
@@ -110,19 +110,18 @@ range \[`i`, `last`), E(`*j`) is `false`. Returns:
|
|
| 110 |
- `i` for the overloads in namespace `std`.
|
| 111 |
- `{i, last}` for the overloads in namespace `ranges`.
|
| 112 |
|
| 113 |
*Complexity:* Let N = `last - first`:
|
| 114 |
|
| 115 |
-
- For the overloads with no `ExecutionPolicy`, at most N log N swaps,
|
| 116 |
but only 𝑂(N) swaps if there is enough extra memory. Exactly N
|
| 117 |
applications of the predicate and projection.
|
| 118 |
- For the overload with an `ExecutionPolicy`, 𝑂(N log N) swaps and 𝑂(N)
|
| 119 |
applications of the predicate.
|
| 120 |
|
| 121 |
``` cpp
|
| 122 |
-
template<class InputIterator, class OutputIterator1,
|
| 123 |
-
class OutputIterator2, class Predicate>
|
| 124 |
constexpr pair<OutputIterator1, OutputIterator2>
|
| 125 |
partition_copy(InputIterator first, InputIterator last,
|
| 126 |
OutputIterator1 out_true, OutputIterator2 out_false, Predicate pred);
|
| 127 |
template<class ExecutionPolicy, class ForwardIterator, class ForwardIterator1,
|
| 128 |
class ForwardIterator2, class Predicate>
|
|
@@ -153,11 +152,11 @@ Let `proj` be `identity{}` for the overloads with no parameter named
|
|
| 153 |
`*first` is writable [[iterator.requirements.general]] to `out_true` and
|
| 154 |
`out_false`.
|
| 155 |
|
| 156 |
*Preconditions:* The input range and output ranges do not overlap.
|
| 157 |
|
| 158 |
-
[*Note 1*: For the overload with an `ExecutionPolicy`, there
|
| 159 |
performance cost if `first`’s value type does not meet the
|
| 160 |
*Cpp17CopyConstructible* requirements. — *end note*]
|
| 161 |
|
| 162 |
*Effects:* For each iterator `i` in \[`first`, `last`), copies `*i` to
|
| 163 |
the output range beginning with `out_true` if E(`*i`) is `true`, or to
|
|
|
|
| 110 |
- `i` for the overloads in namespace `std`.
|
| 111 |
- `{i, last}` for the overloads in namespace `ranges`.
|
| 112 |
|
| 113 |
*Complexity:* Let N = `last - first`:
|
| 114 |
|
| 115 |
+
- For the overloads with no `ExecutionPolicy`, at most N log₂ N swaps,
|
| 116 |
but only 𝑂(N) swaps if there is enough extra memory. Exactly N
|
| 117 |
applications of the predicate and projection.
|
| 118 |
- For the overload with an `ExecutionPolicy`, 𝑂(N log N) swaps and 𝑂(N)
|
| 119 |
applications of the predicate.
|
| 120 |
|
| 121 |
``` cpp
|
| 122 |
+
template<class InputIterator, class OutputIterator1, class OutputIterator2, class Predicate>
|
|
|
|
| 123 |
constexpr pair<OutputIterator1, OutputIterator2>
|
| 124 |
partition_copy(InputIterator first, InputIterator last,
|
| 125 |
OutputIterator1 out_true, OutputIterator2 out_false, Predicate pred);
|
| 126 |
template<class ExecutionPolicy, class ForwardIterator, class ForwardIterator1,
|
| 127 |
class ForwardIterator2, class Predicate>
|
|
|
|
| 152 |
`*first` is writable [[iterator.requirements.general]] to `out_true` and
|
| 153 |
`out_false`.
|
| 154 |
|
| 155 |
*Preconditions:* The input range and output ranges do not overlap.
|
| 156 |
|
| 157 |
+
[*Note 1*: For the overload with an `ExecutionPolicy`, there might be a
|
| 158 |
performance cost if `first`’s value type does not meet the
|
| 159 |
*Cpp17CopyConstructible* requirements. — *end note*]
|
| 160 |
|
| 161 |
*Effects:* For each iterator `i` in \[`first`, `last`), copies `*i` to
|
| 162 |
the output range beginning with `out_true` if E(`*i`) is `true`, or to
|