Skip to content

Commit

Permalink
Automatic update from GitHub Actions workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions committed Nov 18, 2023
1 parent 5bdae09 commit 66f9638
Show file tree
Hide file tree
Showing 22 changed files with 519 additions and 150 deletions.
125 changes: 125 additions & 0 deletions issue4012.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset="utf-8">
<title>Issue 4012: common_view::begin/end are missing the simple-view check</title>
<style type="text/css">
p {text-align:justify}
li {text-align:justify}
blockquote.note
{
background-color:#E0E0E0;
padding-left: 15px;
padding-right: 15px;
padding-top: 1px;
padding-bottom: 1px;
}
ins {background-color:#A0FFA0}
del {background-color:#FFA0A0}
table {border-collapse: collapse;}
@media (prefers-color-scheme: dark) {
html {
color: #ddd;
background-color: black;
}
ins {
background-color: #225522
}
del {
background-color: #662222
}
a {
color: #6af
}
a:visited {
color: #6af
}
blockquote.note
{
background-color: rgba(255, 255, 255, .10)
}
}
</style>
</head>
<body>
<hr>
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#New">New</a> status.</em></p>
<h3><a name="4012" href="lwg-active.html#4012">4012</a>. <tt>common_view::begin/end</tt> are missing the <tt><i>simple-view</i></tt> check</h3>
<p><b>Section:</b> 26.7.19.2 <a href="https://wg21.link/range.common.view">[range.common.view]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
<b>Submitter:</b> Hewill Kang <b>Opened:</b> 2023-11-11 <b>Last modified:</b> 2023-11-18</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View all other</b> <a href="lwg-index.html#range.common.view">issues</a> in [range.common.view].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#New">New</a> status.</p>
<p><b>Discussion:</b></p>
<p>
<tt>common_view::begin/end</tt> have exactly the same implementation as their corresponding <tt>const</tt> versions,
which implies that when the underlying <tt>V</tt> satisfies <tt><i>simple-view</i></tt>, it is sufficient to
just provide <tt>const</tt>-qualified members.
</p>


<p id="res-4012"><b>Proposed resolution:</b></p>
<p>
This wording is relative to <a href="https://wg21.link/N4964">N4964</a>.
</p>

<ol>

<li><p>Modify 26.7.19.2 <a href="https://wg21.link/range.common.view">[range.common.view]</a> as indicated:</p>

<blockquote><pre>
namespace std::ranges {
template&lt;view V&gt;
requires (!common_range&lt;V&gt; &amp;&amp; copyable&lt;iterator_t&lt;V&gt;&gt;)
class common_view : public view_interface&lt;common_view&lt;V&gt;&gt; {
private:
V <i>base_</i> = V(); // <i>exposition only</i>

public:
[&hellip;]
constexpr auto begin() <ins>requires (!<i>simple-view</i>&lt;V&gt;)</ins> {
if constexpr (random_access_range&lt;V&gt; &amp;&amp; sized_range&lt;V&gt;)
return ranges::begin(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;V&gt;, sentinel_t&lt;V&gt;&gt;(ranges::begin(<i>base_</i>));
}

constexpr auto begin() const requires range&lt;const V&gt; {
if constexpr (random_access_range&lt;const V&gt; &amp;&amp; sized_range&lt;const V&gt;)
return ranges::begin(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;const V&gt;, sentinel_t&lt;const V&gt;&gt;(ranges::begin(<i>base_</i>));
}

constexpr auto end() <ins>requires (!<i>simple-view</i>&lt;V&gt;)</ins> {
if constexpr (random_access_range&lt;V&gt; &amp;&amp; sized_range&lt;V&gt;)
return ranges::begin(<i>base_</i>) + ranges::distance(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;V&gt;, sentinel_t&lt;V&gt;&gt;(ranges::end(<i>base_</i>));
}

constexpr auto end() const requires range&lt;const V&gt; {
if constexpr (random_access_range&lt;const V&gt; &amp;&amp; sized_range&lt;const V&gt;)
return ranges::begin(<i>base_</i>) + ranges::distance(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;const V&gt;, sentinel_t&lt;const V&gt;&gt;(ranges::end(<i>base_</i>));
}

[&hellip;]
};
[&hellip;]
}
</pre></blockquote>

</li>

</ol>





</body>
</html>
85 changes: 81 additions & 4 deletions lwg-active.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
</tr>
</table>
<h1>C++ Standard Library Active Issues List (Revision D125)</h1>
<p><p>Revised 2023-11-18 at 12:34:29 UTC</p>
<p><p>Revised 2023-11-18 at 12:52:04 UTC</p>
</p>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>Also see:</p>
Expand Down Expand Up @@ -182,15 +182,15 @@ <h2 id='History'>Revision History</h2>
<ul>
<li>D125: 2023-06-09 Post-Varna<ul>
<li><b>Summary:</b><ul>
<li>455 open issues, up by 25.</li>
<li>456 open issues, up by 26.</li>
<li>3043 closed issues, up by 43.</li>
<li>35 reassigned issues, down by 1.</li>
<li>3533 issues total, up by 67.</li>
<li>3534 issues total, up by 68.</li>
</ul></li>
<li><b>Details:</b><ul>
<li>Added the following 4 Ready issues: <a href="lwg-active.html#3950">3950</a>, <a href="lwg-active.html#3975">3975</a>, <a href="lwg-active.html#3984">3984</a>, <a href="lwg-active.html#3988">3988</a>.</li>
<li>Added the following 6 Tentatively NAD issues: <a href="lwg-active.html#3958">3958</a>, <a href="lwg-active.html#3980">3980</a>, <a href="lwg-active.html#3981">3981</a>, <a href="lwg-active.html#3982">3982</a>, <a href="lwg-active.html#3996">3996</a>, <a href="lwg-active.html#4003">4003</a>.</li>
<li>Added the following 42 New issues: <a href="lwg-active.html#3945">3945</a>, <a href="lwg-active.html#3952">3952</a>, <a href="lwg-active.html#3954">3954</a>, <a href="lwg-active.html#3955">3955</a>, <a href="lwg-active.html#3956">3956</a>, <a href="lwg-active.html#3959">3959</a>, <a href="lwg-active.html#3960">3960</a>, <a href="lwg-active.html#3961">3961</a>, <a href="lwg-active.html#3962">3962</a>, <a href="lwg-active.html#3963">3963</a>, <a href="lwg-active.html#3964">3964</a>, <a href="lwg-active.html#3966">3966</a>, <a href="lwg-active.html#3967">3967</a>, <a href="lwg-active.html#3968">3968</a>, <a href="lwg-active.html#3969">3969</a>, <a href="lwg-active.html#3972">3972</a>, <a href="lwg-active.html#3976">3976</a>, <a href="lwg-active.html#3977">3977</a>, <a href="lwg-active.html#3978">3978</a>, <a href="lwg-active.html#3979">3979</a>, <a href="lwg-active.html#3983">3983</a>, <a href="lwg-active.html#3985">3985</a>, <a href="lwg-active.html#3986">3986</a>, <a href="lwg-active.html#3989">3989</a>, <a href="lwg-active.html#3991">3991</a>, <a href="lwg-active.html#3992">3992</a>, <a href="lwg-active.html#3993">3993</a>, <a href="lwg-active.html#3994">3994</a>, <a href="lwg-active.html#3995">3995</a>, <a href="lwg-active.html#3997">3997</a>, <a href="lwg-active.html#3998">3998</a>, <a href="lwg-active.html#3999">3999</a>, <a href="lwg-active.html#4000">4000</a>, <a href="lwg-active.html#4002">4002</a>, <a href="lwg-active.html#4004">4004</a>, <a href="lwg-active.html#4005">4005</a>, <a href="lwg-active.html#4006">4006</a>, <a href="lwg-active.html#4007">4007</a>, <a href="lwg-active.html#4008">4008</a>, <a href="lwg-active.html#4009">4009</a>, <a href="lwg-active.html#4010">4010</a>, <a href="lwg-active.html#4011">4011</a>.</li>
<li>Added the following 43 New issues: <a href="lwg-active.html#3945">3945</a>, <a href="lwg-active.html#3952">3952</a>, <a href="lwg-active.html#3954">3954</a>, <a href="lwg-active.html#3955">3955</a>, <a href="lwg-active.html#3956">3956</a>, <a href="lwg-active.html#3959">3959</a>, <a href="lwg-active.html#3960">3960</a>, <a href="lwg-active.html#3961">3961</a>, <a href="lwg-active.html#3962">3962</a>, <a href="lwg-active.html#3963">3963</a>, <a href="lwg-active.html#3964">3964</a>, <a href="lwg-active.html#3966">3966</a>, <a href="lwg-active.html#3967">3967</a>, <a href="lwg-active.html#3968">3968</a>, <a href="lwg-active.html#3969">3969</a>, <a href="lwg-active.html#3972">3972</a>, <a href="lwg-active.html#3976">3976</a>, <a href="lwg-active.html#3977">3977</a>, <a href="lwg-active.html#3978">3978</a>, <a href="lwg-active.html#3979">3979</a>, <a href="lwg-active.html#3983">3983</a>, <a href="lwg-active.html#3985">3985</a>, <a href="lwg-active.html#3986">3986</a>, <a href="lwg-active.html#3989">3989</a>, <a href="lwg-active.html#3991">3991</a>, <a href="lwg-active.html#3992">3992</a>, <a href="lwg-active.html#3993">3993</a>, <a href="lwg-active.html#3994">3994</a>, <a href="lwg-active.html#3995">3995</a>, <a href="lwg-active.html#3997">3997</a>, <a href="lwg-active.html#3998">3998</a>, <a href="lwg-active.html#3999">3999</a>, <a href="lwg-active.html#4000">4000</a>, <a href="lwg-active.html#4002">4002</a>, <a href="lwg-active.html#4004">4004</a>, <a href="lwg-active.html#4005">4005</a>, <a href="lwg-active.html#4006">4006</a>, <a href="lwg-active.html#4007">4007</a>, <a href="lwg-active.html#4008">4008</a>, <a href="lwg-active.html#4009">4009</a>, <a href="lwg-active.html#4010">4010</a>, <a href="lwg-active.html#4011">4011</a>, <a href="lwg-active.html#4012">4012</a>.</li>
<li>Added the following SG9 issue: <a href="lwg-active.html#3971">3971</a>.</li>
<li>Added the following 14 WP issues: <a href="lwg-defects.html#3946">3946</a>, <a href="lwg-defects.html#3947">3947</a>, <a href="lwg-defects.html#3948">3948</a>, <a href="lwg-defects.html#3949">3949</a>, <a href="lwg-defects.html#3951">3951</a>, <a href="lwg-defects.html#3953">3953</a>, <a href="lwg-defects.html#3957">3957</a>, <a href="lwg-defects.html#3965">3965</a>, <a href="lwg-defects.html#3970">3970</a>, <a href="lwg-defects.html#3973">3973</a>, <a href="lwg-defects.html#3974">3974</a>, <a href="lwg-defects.html#3987">3987</a>, <a href="lwg-defects.html#3990">3990</a>, <a href="lwg-defects.html#4001">4001</a>.</li>
<li>Changed the following issue to Ready (from New): <a href="lwg-active.html#3919">3919</a>.</li>
Expand Down Expand Up @@ -55050,5 +55050,82 @@ <h3><a name="4011" href="#4011">4011</a><sup><a href="https://cplusplus.github.i



<hr>
<h3><a name="4012" href="#4012">4012</a><sup><a href="https://cplusplus.github.io/LWG/issue4012">(i)</a></sup>. <tt>common_view::begin/end</tt> are missing the <tt><i>simple-view</i></tt> check</h3>
<p><b>Section:</b> 26.7.19.2 <a href="https://wg21.link/range.common.view">[range.common.view]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
<b>Submitter:</b> Hewill Kang <b>Opened:</b> 2023-11-11 <b>Last modified:</b> 2023-11-18</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View all other</b> <a href="lwg-index.html#range.common.view">issues</a> in [range.common.view].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#New">New</a> status.</p>
<p><b>Discussion:</b></p>
<p>
<tt>common_view::begin/end</tt> have exactly the same implementation as their corresponding <tt>const</tt> versions,
which implies that when the underlying <tt>V</tt> satisfies <tt><i>simple-view</i></tt>, it is sufficient to
just provide <tt>const</tt>-qualified members.
</p>


<p id="res-4012"><b>Proposed resolution:</b></p>
<p>
This wording is relative to <a href="https://wg21.link/N4964">N4964</a>.
</p>

<ol>

<li><p>Modify 26.7.19.2 <a href="https://wg21.link/range.common.view">[range.common.view]</a> as indicated:</p>

<blockquote><pre>
namespace std::ranges {
template&lt;view V&gt;
requires (!common_range&lt;V&gt; &amp;&amp; copyable&lt;iterator_t&lt;V&gt;&gt;)
class common_view : public view_interface&lt;common_view&lt;V&gt;&gt; {
private:
V <i>base_</i> = V(); // <i>exposition only</i>

public:
[&hellip;]
constexpr auto begin() <ins>requires (!<i>simple-view</i>&lt;V&gt;)</ins> {
if constexpr (random_access_range&lt;V&gt; &amp;&amp; sized_range&lt;V&gt;)
return ranges::begin(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;V&gt;, sentinel_t&lt;V&gt;&gt;(ranges::begin(<i>base_</i>));
}

constexpr auto begin() const requires range&lt;const V&gt; {
if constexpr (random_access_range&lt;const V&gt; &amp;&amp; sized_range&lt;const V&gt;)
return ranges::begin(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;const V&gt;, sentinel_t&lt;const V&gt;&gt;(ranges::begin(<i>base_</i>));
}

constexpr auto end() <ins>requires (!<i>simple-view</i>&lt;V&gt;)</ins> {
if constexpr (random_access_range&lt;V&gt; &amp;&amp; sized_range&lt;V&gt;)
return ranges::begin(<i>base_</i>) + ranges::distance(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;V&gt;, sentinel_t&lt;V&gt;&gt;(ranges::end(<i>base_</i>));
}

constexpr auto end() const requires range&lt;const V&gt; {
if constexpr (random_access_range&lt;const V&gt; &amp;&amp; sized_range&lt;const V&gt;)
return ranges::begin(<i>base_</i>) + ranges::distance(<i>base_</i>);
else
return common_iterator&lt;iterator_t&lt;const V&gt;, sentinel_t&lt;const V&gt;&gt;(ranges::end(<i>base_</i>));
}

[&hellip;]
};
[&hellip;]
}
</pre></blockquote>

</li>

</ol>





</body>
</html>
8 changes: 4 additions & 4 deletions lwg-closed.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
</tr>
</table>
<h1>C++ Standard Library Closed Issues List (Revision D125)</h1>
<p><p>Revised 2023-11-18 at 12:34:29 UTC</p>
<p><p>Revised 2023-11-18 at 12:52:04 UTC</p>
</p>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>Also see:</p>
Expand All @@ -86,15 +86,15 @@ <h2 id='History'>Revision History</h2>
<ul>
<li>D125: 2023-06-09 Post-Varna<ul>
<li><b>Summary:</b><ul>
<li>455 open issues, up by 25.</li>
<li>456 open issues, up by 26.</li>
<li>3043 closed issues, up by 43.</li>
<li>35 reassigned issues, down by 1.</li>
<li>3533 issues total, up by 67.</li>
<li>3534 issues total, up by 68.</li>
</ul></li>
<li><b>Details:</b><ul>
<li>Added the following 4 Ready issues: <a href="lwg-active.html#3950">3950</a>, <a href="lwg-active.html#3975">3975</a>, <a href="lwg-active.html#3984">3984</a>, <a href="lwg-active.html#3988">3988</a>.</li>
<li>Added the following 6 Tentatively NAD issues: <a href="lwg-active.html#3958">3958</a>, <a href="lwg-active.html#3980">3980</a>, <a href="lwg-active.html#3981">3981</a>, <a href="lwg-active.html#3982">3982</a>, <a href="lwg-active.html#3996">3996</a>, <a href="lwg-active.html#4003">4003</a>.</li>
<li>Added the following 42 New issues: <a href="lwg-active.html#3945">3945</a>, <a href="lwg-active.html#3952">3952</a>, <a href="lwg-active.html#3954">3954</a>, <a href="lwg-active.html#3955">3955</a>, <a href="lwg-active.html#3956">3956</a>, <a href="lwg-active.html#3959">3959</a>, <a href="lwg-active.html#3960">3960</a>, <a href="lwg-active.html#3961">3961</a>, <a href="lwg-active.html#3962">3962</a>, <a href="lwg-active.html#3963">3963</a>, <a href="lwg-active.html#3964">3964</a>, <a href="lwg-active.html#3966">3966</a>, <a href="lwg-active.html#3967">3967</a>, <a href="lwg-active.html#3968">3968</a>, <a href="lwg-active.html#3969">3969</a>, <a href="lwg-active.html#3972">3972</a>, <a href="lwg-active.html#3976">3976</a>, <a href="lwg-active.html#3977">3977</a>, <a href="lwg-active.html#3978">3978</a>, <a href="lwg-active.html#3979">3979</a>, <a href="lwg-active.html#3983">3983</a>, <a href="lwg-active.html#3985">3985</a>, <a href="lwg-active.html#3986">3986</a>, <a href="lwg-active.html#3989">3989</a>, <a href="lwg-active.html#3991">3991</a>, <a href="lwg-active.html#3992">3992</a>, <a href="lwg-active.html#3993">3993</a>, <a href="lwg-active.html#3994">3994</a>, <a href="lwg-active.html#3995">3995</a>, <a href="lwg-active.html#3997">3997</a>, <a href="lwg-active.html#3998">3998</a>, <a href="lwg-active.html#3999">3999</a>, <a href="lwg-active.html#4000">4000</a>, <a href="lwg-active.html#4002">4002</a>, <a href="lwg-active.html#4004">4004</a>, <a href="lwg-active.html#4005">4005</a>, <a href="lwg-active.html#4006">4006</a>, <a href="lwg-active.html#4007">4007</a>, <a href="lwg-active.html#4008">4008</a>, <a href="lwg-active.html#4009">4009</a>, <a href="lwg-active.html#4010">4010</a>, <a href="lwg-active.html#4011">4011</a>.</li>
<li>Added the following 43 New issues: <a href="lwg-active.html#3945">3945</a>, <a href="lwg-active.html#3952">3952</a>, <a href="lwg-active.html#3954">3954</a>, <a href="lwg-active.html#3955">3955</a>, <a href="lwg-active.html#3956">3956</a>, <a href="lwg-active.html#3959">3959</a>, <a href="lwg-active.html#3960">3960</a>, <a href="lwg-active.html#3961">3961</a>, <a href="lwg-active.html#3962">3962</a>, <a href="lwg-active.html#3963">3963</a>, <a href="lwg-active.html#3964">3964</a>, <a href="lwg-active.html#3966">3966</a>, <a href="lwg-active.html#3967">3967</a>, <a href="lwg-active.html#3968">3968</a>, <a href="lwg-active.html#3969">3969</a>, <a href="lwg-active.html#3972">3972</a>, <a href="lwg-active.html#3976">3976</a>, <a href="lwg-active.html#3977">3977</a>, <a href="lwg-active.html#3978">3978</a>, <a href="lwg-active.html#3979">3979</a>, <a href="lwg-active.html#3983">3983</a>, <a href="lwg-active.html#3985">3985</a>, <a href="lwg-active.html#3986">3986</a>, <a href="lwg-active.html#3989">3989</a>, <a href="lwg-active.html#3991">3991</a>, <a href="lwg-active.html#3992">3992</a>, <a href="lwg-active.html#3993">3993</a>, <a href="lwg-active.html#3994">3994</a>, <a href="lwg-active.html#3995">3995</a>, <a href="lwg-active.html#3997">3997</a>, <a href="lwg-active.html#3998">3998</a>, <a href="lwg-active.html#3999">3999</a>, <a href="lwg-active.html#4000">4000</a>, <a href="lwg-active.html#4002">4002</a>, <a href="lwg-active.html#4004">4004</a>, <a href="lwg-active.html#4005">4005</a>, <a href="lwg-active.html#4006">4006</a>, <a href="lwg-active.html#4007">4007</a>, <a href="lwg-active.html#4008">4008</a>, <a href="lwg-active.html#4009">4009</a>, <a href="lwg-active.html#4010">4010</a>, <a href="lwg-active.html#4011">4011</a>, <a href="lwg-active.html#4012">4012</a>.</li>
<li>Added the following SG9 issue: <a href="lwg-active.html#3971">3971</a>.</li>
<li>Added the following 14 WP issues: <a href="lwg-defects.html#3946">3946</a>, <a href="lwg-defects.html#3947">3947</a>, <a href="lwg-defects.html#3948">3948</a>, <a href="lwg-defects.html#3949">3949</a>, <a href="lwg-defects.html#3951">3951</a>, <a href="lwg-defects.html#3953">3953</a>, <a href="lwg-defects.html#3957">3957</a>, <a href="lwg-defects.html#3965">3965</a>, <a href="lwg-defects.html#3970">3970</a>, <a href="lwg-defects.html#3973">3973</a>, <a href="lwg-defects.html#3974">3974</a>, <a href="lwg-defects.html#3987">3987</a>, <a href="lwg-defects.html#3990">3990</a>, <a href="lwg-defects.html#4001">4001</a>.</li>
<li>Changed the following issue to Ready (from New): <a href="lwg-active.html#3919">3919</a>.</li>
Expand Down
Loading

0 comments on commit 66f9638

Please sign in to comment.