Skip to content

Commit

Permalink
Fix XML validation errors
Browse files Browse the repository at this point in the history
The only non-obvious one is making the xmlns attribute optional for
<math> and related elements. HTML5 (and LWG 4014) do not use that
attribute on <math>.
  • Loading branch information
jwakely committed Jan 29, 2024
1 parent 8e867cb commit 97cae0d
Show file tree
Hide file tree
Showing 26 changed files with 100 additions and 67 deletions.
2 changes: 1 addition & 1 deletion xml/issue3044.xml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ This wording is relative to <paper num="N4910"/>.

<blockquote>
<p>
-2- In subclause <sref vref="[allocator.requirements]"/>,
-2- In subclause <sref ref="[allocator.requirements]"/>,
</p>
<ol style="list-style-type:none">
<li><p>(2.1) &mdash; [&hellip;]</p></li>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3577.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ as the case <tt>position == i</tt> is taken care of.</p></li>
Set priority to 3 after reflector poll.

Tim Song commented:
"I think the current PR of LWG<iref num="2414"/> bans this code,
"I think the current PR of LWG<iref ref="2414"/> bans this code,
but we might want to have consistency with <code>list::merge</code> instead."
</p>

Expand Down
4 changes: 2 additions & 2 deletions xml/issue3613.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ doesn't clearly state that the type is copyable, <sref ref="[optional.nullopt]"/
The reason that <tt>nullopt_t</tt> is defined differently from other such types is to avoid ambiguity
in expressions that assign an empty brace initializer to an <tt>optional</tt>.

<strike>
<span style="text-decoration: line-through">
The meaning of such
assignment should be to engage the <tt>optional</tt> instead of taking the braces to create a temporary
<tt>nullopt_t</tt> for assignment and thus reset the <tt>optional</tt>.
</strike>
</span>
The RHS of such assignment should be a temporary empty <tt>optional</tt>
instead of a temporary <tt>nullopt_t</tt>.
<p/>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3633.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Set priority to 3 after reflector poll.
<br/>
This PR would allow
<pre>
atomic&ltint&gt; x, y = std::move(x);
atomic&lt;int&gt; x, y = std::move(x);
</pre>
because const volatile&amp; doesn't bind to rvalues. It sounds like we'll
need to delete both const volatile&amp; and const volatile&amp;&amp;.
Expand Down
4 changes: 2 additions & 2 deletions xml/issue3668.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ This wording is relative to <paper num="N4917"/>.
</p>

<ol>
<li><p>Modify <sref sref="[fs.dir.itr.members]"/> as indicated:</p>
<li><p>Modify <sref ref="[fs.dir.itr.members]"/> as indicated:</p>

<blockquote class="note">
<p>
Expand Down Expand Up @@ -102,7 +102,7 @@ end iterator and does not report an error.
</blockquote>
</li>

<li><p>Modify <sref sref="[fs.rec.dir.itr.members]"/> as indicated:</p>
<li><p>Modify <sref ref="[fs.rec.dir.itr.members]"/> as indicated:</p>

<blockquote class="note">
<p>
Expand Down
11 changes: 8 additions & 3 deletions xml/issue3714.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@

<issue num="3714" status="Tentatively NAD">
<title>Non-single-argument constructors for range adaptors should not be <tt>explicit</tt></title>
<section><sref ref="[range.zip.transform.view]"/></section><section><sref ref="[range.adjacent.transform.view]"/></section>
<section><sref ref="[range.chunk.view.input]"/></section><section><sref ref="[range.chunk.view.fwd]"/></section>
<section><sref ref="[range.slide.view]"/></section><section><sref ref="[range.chunk.by.view]"/></section>
<section>
<sref ref="[range.zip.transform.view]"/>
<sref ref="[range.adjacent.transform.view]"/>
<sref ref="[range.chunk.view.input]"/>
<sref ref="[range.chunk.view.fwd]"/>
<sref ref="[range.slide.view]"/>
<sref ref="[range.chunk.by.view]"/>
</section>
<submitter>Hewill Kang</submitter>
<date>10 Jun 2022</date>
<priority>4</priority>
Expand Down
4 changes: 2 additions & 2 deletions xml/issue3719.xml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ namespace std {
class traits = regex_traits&lt;charT&gt;&gt;
class regex_iterator {
[&hellip;]
regex_iterator&amp; operator=(const regex_iterator&);
regex_iterator&amp; operator=(const regex_iterator&amp;);
bool operator==(const regex_iterator&amp;) const;
<ins>bool operator==(default_sentinel_t) const { return *this == regex_iterator(); }</ins>
const value_type&amp; operator*() const;
Expand All @@ -172,7 +172,7 @@ namespace std {
class traits = regex_traits&lt;charT&gt;&gt;
class regex_token_iterator {
[&hellip;]
regex_iterator&amp; operator=(const regex_token_iterator&);
regex_iterator&amp; operator=(const regex_token_iterator&amp;);
bool operator==(const regex_token_iterator&amp;) const;
<ins>bool operator==(default_sentinel_t) const { return *this == regex_token_iterator(); }</ins>
const value_type&amp; operator*() const;
Expand Down
9 changes: 6 additions & 3 deletions xml/issue3722.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,20 +70,21 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
-1- <i>Returns</i>: An object of type <tt>C</tt> constructed from the elements of <tt>r</tt> in the following manner:
</p>
<ol style="list-style-type: none">
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p></li>
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p>
<ol style="list-style-type: none">
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.3.1) &mdash; <tt>common_range&lt;R&gt;</tt> is <tt>true</tt>,</p></li>
<li><p>(1.1.3.2) &mdash; <tt><i>cpp17-input-iterator</i>&lt;iterator_t&lt;R&gt;&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
</ol>
<li><p>(1.1.4) &mdash; Otherwise, if</p></li>
</li>
<li><p>(1.1.4) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.4.1) &mdash; <tt>constructible_from&lt;C, Args...&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.4.2) &mdash; <tt><i>container-insertable</i>&lt;C, range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
Expand All @@ -98,7 +99,9 @@ if constexpr (sized_range&lt;R&gt; &amp;&amp; <i>reservable-container</i>&lt;C&g
ranges::copy(r, <i>container-inserter</i>&lt;range_reference_t&lt;R&gt;&gt;(c));
</pre></blockquote></li>
</ol>
</li>
</ol>
</li>
<li><p>(1.2) &mdash; Otherwise, if <tt>input_range&lt;range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
to&lt;C&gt;(r | views::transform([](auto&amp;&amp; elem) {
Expand Down
18 changes: 12 additions & 6 deletions xml/issue3733.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
-1- <i>Returns</i>: An object of type <tt>C</tt> constructed from the elements of <tt>r</tt> in the following manner:
</p>
<ol style="list-style-type: none">
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p></li>
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p>
<ol style="list-style-type: none">
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.3.1) &mdash; <tt>common_range&lt;R&gt;</tt> is <tt>true</tt>,</p></li>
<li><p>(1.1.3.2) &mdash; <tt><del><i>cpp17-input-iterator</i></del><ins>derived_from&lt;typename
Expand All @@ -74,15 +74,18 @@ is <tt>true</tt>, and</p></li>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
</ol>
<li><p>(1.1.4) &mdash; Otherwise, if</p></li>
</li>
<li><p>(1.1.4) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.4.1) &mdash; <tt>constructible_from&lt;C, Args...&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.4.2) &mdash; <tt><i>container-insertable</i>&lt;C, range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
[&hellip;]
</pre></blockquote></li>
</ol>
</li>
</ol>
</li>
<li><p>(1.2) &mdash; Otherwise, if <tt>input_range&lt;range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
to&lt;C&gt;(r | views::transform([](auto&amp;&amp; elem) {
Expand Down Expand Up @@ -175,13 +178,13 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
-1- <i>Returns</i>: An object of type <tt>C</tt> constructed from the elements of <tt>r</tt> in the following manner:
</p>
<ol style="list-style-type: none">
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p></li>
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p>
<ol style="list-style-type: none">
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.3.1) &mdash; <tt>common_range&lt;R&gt;</tt> is <tt>true</tt>,</p></li>
<li><p>(1.1.3.2) &mdash; <del><tt><i>cpp17-input-iterator</i></tt></del><ins>if the <i>qualified-id</i>
Expand All @@ -190,15 +193,18 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt>:</p>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
</ol>
<li><p>(1.1.4) &mdash; Otherwise, if</p></li>
</li>
<li><p>(1.1.4) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.4.1) &mdash; <tt>constructible_from&lt;C, Args...&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.4.2) &mdash; <tt><i>container-insertable</i>&lt;C, range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
[&hellip;]
</pre></blockquote></li>
</ol>
</li>
</ol>
</li>
<li><p>(1.2) &mdash; Otherwise, if <tt>input_range&lt;range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
to&lt;C&gt;(r | views::transform([](auto&amp;&amp; elem) {
Expand Down
21 changes: 12 additions & 9 deletions xml/issue3743.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,20 +64,21 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
-1- <i>Returns</i>: An object of type <tt>C</tt> constructed from the elements of <tt>r</tt> in the following manner:
</p>
<ol style="list-style-type: none">
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p></li>
<li><p>(1.1) &mdash; If <tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p>
<ol style="list-style-type: none">
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.3) &mdash; Otherwise, if</p></li>
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.3.1) &mdash; <tt>common_range&lt;R&gt;</tt> is <tt>true</tt>,</p></li>
<li><p>(1.1.3.2) &mdash; <tt><i>cpp17-input-iterator</i>&lt;iterator_t&lt;R&gt;&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
</ol>
<li><p>(1.1.4) &mdash; Otherwise, if</p></li>
</li>
<li><p>(1.1.4) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.4.1) &mdash; <tt>constructible_from&lt;C, Args...&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.4.2) &mdash; <tt><i>container-insertable</i>&lt;C, range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
Expand All @@ -88,7 +89,9 @@ if constexpr (sized_range&lt;R&gt; &amp;&amp; <i>reservable-container</i>&lt;C&g
ranges::copy(r, <i>container-inserter</i>&lt;range_reference_t&lt;R&gt;&gt;(c));
</pre></blockquote></li>
</ol>
</li>
</ol>
</li>
<li><p>(1.2) &mdash; Otherwise, if <tt>input_range&lt;range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
to&lt;C&gt;(r | views::transform([](auto&amp;&amp; elem) {
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3754.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ template&lt;class... Args&gt;
<blockquote><pre>
<i>// 22.8.7.2, constructors</i>
constexpr expected() noexcept;
constexpr expected(const expected&);
constexpr expected(const expected&amp;);
constexpr expected(expected&amp;&amp;) noexcept(<i>see below</i>);
template&lt;class U, class G&gt;
constexpr explicit(<i>see below</i>) expected(const expected&lt;U, G&gt;&amp;&amp;);
Expand Down
3 changes: 2 additions & 1 deletion xml/issue3773.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,15 @@ Let <tt>F</tt> be a subexpression,
and let <tt>Es...</tt> be a pack of subexpressions.
</p>
<ol style="list-style-type:none">
<li><p>(2.1) — If <tt>Es</tt> is an empty pack, let <tt>FD</tt> be <tt>decay_t&lt;decltype((F))&gt;</tt>.</p></li>
<li><p>(2.1) — If <tt>Es</tt> is an empty pack, let <tt>FD</tt> be <tt>decay_t&lt;decltype((F))&gt;</tt>.</p>
<ol style="list-style-type:none">
<li><p>(2.1.1) — If <tt><ins>move_constructible</ins><del>copy_constructible</del>&lt;FD&gt; &amp;&amp; regular_invocable&lt;FD&amp;&gt;</tt> is <tt>false</tt>, or if <tt>decay_t&lt;invoke_result_t&lt;FD&amp;&gt;&gt;</tt> is not an object type, <tt>views::zip_transform(F, Es...)</tt> is ill-formed.</p></li>
<li><p>(2.1.2) — Otherwise, the expression <tt>views::zip_transform(F, Es...)</tt> is expression-equivalent to</p>
<pre>
((void)F, auto(views::empty&lt;decay_t&lt;invoke_result_t&lt;FD&amp;&gt;&gt;&gt;))</pre>
</li>
</ol>
</li>
<li><p>(2.2) — Otherwise, the expression <tt>views::zip_transform(F, Es...)</tt> is expression-equivalent to <tt>zip_transform_view(F, Es...)</tt>.</p></li>
</ol>
</blockquote>
Expand Down
21 changes: 12 additions & 9 deletions xml/issue3785.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,21 @@ template&lt;class C, input_range R, class... Args&gt; requires (!view&lt;C&gt;)
</p>
<ol style="list-style-type: none">
<li><p>(1.1) &mdash; If <ins><tt>C</tt> does not satisfy <tt>input_range</tt> or</ins>
<tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p></li>
<tt>convertible_to&lt;range_reference_t&lt;R&gt;, range_value_t&lt;C&gt;&gt;</tt> is <tt>true</tt>:</p>
<ol style="list-style-type: none">
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.3) &mdash; Otherwise, if</p></li>
<li><p>(1.1.1) &mdash; If <tt>constructible_from&lt;C, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.2) &mdash; Otherwise, if <tt>constructible_from&lt;C, from_range_t, R, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(from_range, std::forward&lt;R&gt;(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
<li><p>(1.1.3) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.3.1) &mdash; <tt>common_range&lt;R&gt;</tt> is <tt>true</tt>,</p></li>
<li><p>(1.1.3.2) &mdash; <tt><i>cpp17-input-iterator</i>&lt;iterator_t&lt;R&gt;&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p></li>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote>
<li><p>(1.1.3.3) &mdash; <tt>constructible_from&lt;C, iterator_t&lt;R&gt;, sentinel_t&lt;R&gt;, Args...&gt;</tt> is <tt>true</tt>:</p>
<blockquote><tt>C(ranges::begin(r), ranges::end(r), std::forward&lt;Args&gt;(args)...)</tt></blockquote></li>
</ol>
<li><p>(1.1.4) &mdash; Otherwise, if</p></li>
</li>
<li><p>(1.1.4) &mdash; Otherwise, if</p>
<ol style="list-style-type: none">
<li><p>(1.1.4.1) &mdash; <tt>constructible_from&lt;C, Args...&gt;</tt> is <tt>true</tt>, and</p></li>
<li><p>(1.1.4.2) &mdash; <tt><i>container-insertable</i>&lt;C, range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
Expand All @@ -87,7 +88,9 @@ if constexpr (sized_range&lt;R&gt; &amp;&amp; <i>reservable-container</i>&lt;C&g
ranges::copy(r, <i>container-inserter</i>&lt;range_reference_t&lt;R&gt;&gt;(c));
</pre></blockquote></li>
</ol>
</li>
</ol>
</li>
<li><p>(1.2) &mdash; Otherwise, if <tt>input_range&lt;range_reference_t&lt;R&gt;&gt;</tt> is <tt>true</tt>:</p>
<blockquote><pre>
to&lt;C&gt;(r | views::transform([](auto&amp;&amp; elem) {
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3787.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ but no consensus.

<note>Issaquah 2023-02-08; LWG</note>
<p>
This would be resolved by LWG <iref num="3847"/>.
This would be resolved by LWG <iref ref="3847"/>.
</p>

<note>2023-03-22 LWG 3847 was approved in Issaquah. Status changed: New &rarr; Resolved.</note>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3827.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<issue num="3827" status="C++23">
<title>Deprecate <tt>&lt;stdalign.h&gt;</tt> and <tt>&lt;stdbool.h&gt;</tt> macros</title>
<section><sref ref="[stdalign.h.syn]"/>,<sref ref="[stdbool.h.syn]"/></section>
<section><sref ref="[stdalign.h.syn]"/><sref ref="[stdbool.h.syn]"/></section>
<submitter>GB</submitter>
<date>10 Nov 2022</date>
<priority>99</priority>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3840.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ This wording is relative to <paper num="N4917"/>.
</p>

<ol>
<li><p>Restore the <tt>u8path</tt> declarations to <sref sref="[fs.filesystem.syn]"/>, header
<li><p>Restore the <tt>u8path</tt> declarations to <sref ref="[fs.filesystem.syn]"/>, header
<tt>&lt;filesystem&gt;</tt> synopsis, as indicated:</p>

<blockquote>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3841.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This wording is relative to <paper num="N4917"/>.
</p>

<ol>
<li><p>Modify <sref sref="[version.syn]"/>, header <tt>&lt;version&gt;</tt> synopsis, as indicated:</p>
<li><p>Modify <sref ref="[version.syn]"/>, header <tt>&lt;version&gt;</tt> synopsis, as indicated:</p>

<blockquote>
<p>
Expand Down
2 changes: 1 addition & 1 deletion xml/issue3842.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ This wording is relative to <paper num="N4917"/>.
</p>

<ol>
<li><p>Modify <sref sref="[time.format]"/> as indicated:</p>
<li><p>Modify <sref ref="[time.format]"/> as indicated:</p>

<blockquote>
<p>
Expand Down
Loading

0 comments on commit 97cae0d

Please sign in to comment.