From Jason Turner

[is.heap]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmprcpj5ukw/{from.md → to.md} +25 -0
tmp/tmprcpj5ukw/{from.md → to.md} RENAMED
@@ -51,10 +51,26 @@ template<random_access_range R, class Proj = identity,
51
  ```
52
 
53
  *Effects:* Equivalent to:
54
  `return ranges::is_heap_until(first, last, comp, proj) == last;`
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  ``` cpp
57
  template<class RandomAccessIterator>
58
  constexpr RandomAccessIterator
59
  is_heap_until(RandomAccessIterator first, RandomAccessIterator last);
60
  template<class ExecutionPolicy, class RandomAccessIterator>
@@ -77,10 +93,19 @@ template<random_access_iterator I, sentinel_for<I> S, class Proj = identity,
77
  constexpr I ranges::is_heap_until(I first, S last, Comp comp = {}, Proj proj = {});
78
  template<random_access_range R, class Proj = identity,
79
  indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
80
  constexpr borrowed_iterator_t<R>
81
  ranges::is_heap_until(R&& r, Comp comp = {}, Proj proj = {});
 
 
 
 
 
 
 
 
 
82
  ```
83
 
84
  Let `comp` be `less{}` and `proj` be `identity{}` for the overloads with
85
  no parameters by those names.
86
 
 
51
  ```
52
 
53
  *Effects:* Equivalent to:
54
  `return ranges::is_heap_until(first, last, comp, proj) == last;`
55
 
56
+ ``` cpp
57
+ template<execution-policy Ep, random_access_iterator I, sized_sentinel_for<I> S,
58
+ class Proj = identity,
59
+ indirect_strict_weak_order<projected<I, Proj>> Comp = ranges::less>
60
+ bool ranges::is_heap(Ep&& exec, I first, S last, Comp comp = {}, Proj proj = {});
61
+ template<execution-policy Ep, sized-random-access-range R, class Proj = identity,
62
+ indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
63
+ bool ranges::is_heap(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {});
64
+ ```
65
+
66
+ *Effects:* Equivalent to:
67
+
68
+ ``` cpp
69
+ return ranges::is_heap_until(std::forward<Ep>(exec), first, last, comp, proj) == last;
70
+ ```
71
+
72
  ``` cpp
73
  template<class RandomAccessIterator>
74
  constexpr RandomAccessIterator
75
  is_heap_until(RandomAccessIterator first, RandomAccessIterator last);
76
  template<class ExecutionPolicy, class RandomAccessIterator>
 
93
  constexpr I ranges::is_heap_until(I first, S last, Comp comp = {}, Proj proj = {});
94
  template<random_access_range R, class Proj = identity,
95
  indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
96
  constexpr borrowed_iterator_t<R>
97
  ranges::is_heap_until(R&& r, Comp comp = {}, Proj proj = {});
98
+
99
+ template<execution-policy Ep, random_access_iterator I, sized_sentinel_for<I> S,
100
+ class Proj = identity,
101
+ indirect_strict_weak_order<projected<I, Proj>> Comp = ranges::less>
102
+ I ranges::is_heap_until(Ep&& exec, I first, S last, Comp comp = {}, Proj proj = {});
103
+ template<execution-policy Ep, sized-random-access-range R, class Proj = identity,
104
+ indirect_strict_weak_order<projected<iterator_t<R>, Proj>> Comp = ranges::less>
105
+ borrowed_iterator_t<R>
106
+ ranges::is_heap_until(Ep&& exec, R&& r, Comp comp = {}, Proj proj = {});
107
  ```
108
 
109
  Let `comp` be `less{}` and `proj` be `identity{}` for the overloads with
110
  no parameters by those names.
111