From Jason Turner

[alg.equal]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmps4fv747r/{from.md → to.md} +15 -9
tmp/tmps4fv747r/{from.md → to.md} RENAMED
@@ -63,22 +63,28 @@ Let:
63
  - `invoke(pred, invoke(proj1, *i), invoke(proj2, *(first2 + (i - first1))))`
64
  for the overloads with parameter `proj1`.
65
 
66
  *Returns:* If `last1 - first1 != last2 - first2`, return `false`.
67
  Otherwise return `true` if E holds for every iterator `i` in the range
68
- \[`first1`, `last1`) Otherwise, returns `false`.
69
 
70
- *Complexity:* If the types of `first1`, `last1`, `first2`, and `last2`:
71
 
72
- - meet the *Cpp17RandomAccessIterator*
73
- requirements [[random.access.iterators]] for the overloads in
74
- namespace `std`;
75
- - pairwise model `sized_sentinel_for` [[iterator.concept.sizedsentinel]]
76
- for the overloads in namespace `ranges`,
 
 
 
 
 
 
77
 
78
- and `last1 - first1 != last2 - first2`, then no applications of the
79
- corresponding predicate and each projection; otherwise,
80
 
81
  - For the overloads with no `ExecutionPolicy`, at most
82
  min(`last1 - first1`, `last2 - first2`) applications of the
83
  corresponding predicate and any projections.
84
  - For the overloads with an `ExecutionPolicy`, 𝑂(min(`last1 - first1`,
 
63
  - `invoke(pred, invoke(proj1, *i), invoke(proj2, *(first2 + (i - first1))))`
64
  for the overloads with parameter `proj1`.
65
 
66
  *Returns:* If `last1 - first1 != last2 - first2`, return `false`.
67
  Otherwise return `true` if E holds for every iterator `i` in the range
68
+ \[`first1`, `last1`). Otherwise, returns `false`.
69
 
70
+ *Complexity:* If
71
 
72
+ - the types of `first1`, `last1`, `first2`, and `last2` meet the
73
+ *Cpp17RandomAccessIterator* requirements [[random.access.iterators]]
74
+ and `last1 - first1 != last2 - first2` for the overloads in namespace
75
+ `std`;
76
+ - the types of `first1`, `last1`, `first2`, and `last2` pairwise model
77
+ `sized_sentinel_for` [[iterator.concept.sizedsentinel]] and
78
+ `last1 - first1 != last2 - first2` for the first overload in namespace
79
+ `ranges`,
80
+ - `R1` and `R2` each model `sized_range` and
81
+ `ranges::distance(r1) != ranges::distance(r2)` for the second overload
82
+ in namespace `ranges`,
83
 
84
+ then no applications of the corresponding predicate and each projection;
85
+ otherwise,
86
 
87
  - For the overloads with no `ExecutionPolicy`, at most
88
  min(`last1 - first1`, `last2 - first2`) applications of the
89
  corresponding predicate and any projections.
90
  - For the overloads with an `ExecutionPolicy`, 𝑂(min(`last1 - first1`,