Skip to content

Commit 6c8d551

Browse files
k3DWjwakely
authored andcommitted
New issue for US 157-255: freestanding for stable_sort, stable_partition and inplace_merge
1 parent c85ec28 commit 6c8d551

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

xml/issue4457.xml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version='1.0' encoding='utf-8' standalone='no'?>
2+
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+
<issue num="4457" status="New">
5+
<title>freestanding for `stable_sort`, `stable_partition` and `inplace_merge`</title>
6+
<section><sref ref="[algorithm.syn]"/></section>
7+
<submitter>Braden Ganetsky</submitter>
8+
<date>06 Nov 2025</date>
9+
<priority>99</priority>
10+
11+
<discussion>
12+
<b>Addresses <a href="https://github.com/cplusplus/nbballot/issues/830">US 157-255</a></b>
13+
<p>
14+
This applies the resolution for US 157-255.
15+
</p>
16+
</discussion>
17+
18+
<resolution>
19+
<p>
20+
This wording is relative to <paper num="N5014"/>.
21+
</p>
22+
23+
<ol>
24+
<li><p>Modify <sref ref="[algorithm.syn]"/>, as indicated:</p>
25+
26+
<blockquote><pre>
27+
namespace ranges {
28+
template&lt;bidirectional_iterator I, sentinel_for&lt;I&gt; S, class Proj = identity,
29+
indirect_unary_predicate&lt;projected&lt;I, Proj&gt;&gt; Pred&gt;
30+
requires permutable&lt;I&gt;
31+
constexpr subrange&lt;I&gt; stable_partition(I first, S last, Pred pred, // hosted
32+
Proj proj = {});
33+
template&lt;bidirectional_range R, class Proj = identity,
34+
indirect_unary_predicate&lt;projected&lt;iterator_t&lt;R&gt;, Proj&gt;&gt; Pred&gt;
35+
requires permutable&lt;iterator_t&lt;R&gt;&gt;
36+
constexpr borrowed_subrange_t&lt;R&gt; stable_partition(R&amp;&amp; r, Pred pred, // hosted
37+
Proj proj = {});
38+
39+
template&lt;execution-policy Ep, random_access_iterator I, sized_sentinel_for&lt;I&gt; S,
40+
class Proj = identity, indirect_unary_predicate&lt;projected&lt;I, Proj&gt;&gt; Pred&gt;
41+
requires permutable&lt;I&gt;
42+
subrange&lt;I&gt;
43+
stable_partition(Ep&amp;&amp; exec, I first, S last, Pred pred,
44+
Proj proj = {}); // <del>freestanding-deleted</del><ins>hosted</ins>;
45+
template&lt;execution-policy Ep, sized-random-access-range R, class Proj = identity,
46+
indirect_unary_predicate&lt;projected&lt;iterator_t&lt;R&gt;, Proj&gt;&gt; Pred&gt;
47+
requires permutable&lt;iterator_t&lt;R&gt;&gt;
48+
borrowed_subrange_t&lt;R&gt;
49+
stable_partition(Ep&amp;&amp; exec, R&amp;&amp; r, Pred pred, Proj proj = {}); // <del>freestanding-deleted</del><ins>hosted</ins>;
50+
}
51+
</pre></blockquote>
52+
</li>
53+
54+
</ol>
55+
</resolution>
56+
57+
</issue>

0 commit comments

Comments
 (0)