From Jason Turner

[alg.heap.operations]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp5cn8r3b6/{from.md → to.md} +25 -0
tmp/tmp5cn8r3b6/{from.md → to.md} RENAMED
@@ -226,10 +226,26 @@ template<random_access_range R, class Proj = identity,
226
  ```
227
 
228
  *Effects:* Equivalent to:
229
  `return ranges::is_heap_until(first, last, comp, proj) == last;`
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  ``` cpp
232
  template<class RandomAccessIterator>
233
  constexpr RandomAccessIterator
234
  is_heap_until(RandomAccessIterator first, RandomAccessIterator last);
235
  template<class ExecutionPolicy, class RandomAccessIterator>
@@ -252,10 +268,19 @@ template<random_access_iterator I, sentinel_for<I> S, class Proj = identity,
252
  constexpr I ranges::is_heap_until(I first, S last, Comp comp = {}, Proj proj = {});
253
  template<random_access_range R, class Proj = identity,
254
  indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
255
  constexpr borrowed_iterator_t<R>
256
  ranges::is_heap_until(R&& r, Comp comp = {}, Proj proj = {});
 
 
 
 
 
 
 
 
 
257
  ```
258
 
259
  Let `comp` be `less{}` and `proj` be `identity{}` for the overloads with
260
  no parameters by those names.
261
 
 
226
  ```
227
 
228
  *Effects:* Equivalent to:
229
  `return ranges::is_heap_until(first, last, comp, proj) == last;`
230
 
231
+ ``` cpp
232
+ template<execution-policy Ep, random_access_iterator I, sized_sentinel_for<I> S,
233
+ class Proj = identity,
234
+ indirect_strict_weak_order<projected<I, Proj>> Comp = ranges::less>
235
+ bool ranges::is_heap(Ep&& exec, I first, S last, Comp comp = {}, Proj proj = {});
236
+ template<execution-policy Ep, sized-random-access-range R, class Proj = identity,
237
+ indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
238
+ bool ranges::is_heap(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {});
239
+ ```
240
+
241
+ *Effects:* Equivalent to:
242
+
243
+ ``` cpp
244
+ return ranges::is_heap_until(std::forward<Ep>(exec), first, last, comp, proj) == last;
245
+ ```
246
+
247
  ``` cpp
248
  template<class RandomAccessIterator>
249
  constexpr RandomAccessIterator
250
  is_heap_until(RandomAccessIterator first, RandomAccessIterator last);
251
  template<class ExecutionPolicy, class RandomAccessIterator>
 
268
  constexpr I ranges::is_heap_until(I first, S last, Comp comp = {}, Proj proj = {});
269
  template<random_access_range R, class Proj = identity,
270
  indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
271
  constexpr borrowed_iterator_t<R>
272
  ranges::is_heap_until(R&& r, Comp comp = {}, Proj proj = {});
273
+
274
+ template<execution-policy Ep, random_access_iterator I, sized_sentinel_for<I> S,
275
+ class Proj = identity,
276
+ indirect_strict_weak_order<projected<I, Proj>> Comp = ranges::less>
277
+ I ranges::is_heap_until(Ep&& exec, I first, S last, Comp comp = {}, Proj proj = {});
278
+ template<execution-policy Ep, sized-random-access-range R, class Proj = identity,
279
+ indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
280
+ borrowed_iterator_t<R>
281
+ ranges::is_heap_until(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {});
282
  ```
283
 
284
  Let `comp` be `less{}` and `proj` be `identity{}` for the overloads with
285
  no parameters by those names.
286