Commit 32a1aa70 by Jonathan Wakely Committed by Jonathan Wakely

Add missing piece of P0777R1 and update C++20 status docs

	* doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
	P1165R1 entries.
	* doc/html/*: Regenerate.
	* include/std/tuple (make_from_tuple): Use remove_reference_t instead
	of decay_t (P0777R1).

From-SVN: r271316
parent 8666d8bd
2019-05-17 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
P1165R1 entries.
* doc/html/*: Regenerate.
* include/std/tuple (make_from_tuple): Use remove_reference_t instead
of decay_t (P0777R1).
2019-05-17 François Dumont <fdumont@gcc.gnu.org> 2019-05-17 François Dumont <fdumont@gcc.gnu.org>
Move from state of allocators (LWG2593) Move from state of allocators (LWG2593)
......
...@@ -989,7 +989,7 @@ ...@@ -989,7 +989,7 @@
</h5></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"></a> </h5></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"></a>
Description Description
</h6></div></div></div><p>This test inserts a number of values with keys from an arbitrary </h6></div></div></div><p>This test inserts a number of values with keys from an arbitrary
text ([ wickland96thirty ]) into a container text ([wickland96thirty]) into a container
using <code class="function">insert</code> . It measures the average time using <code class="function">insert</code> . It measures the average time
for <code class="function">insert</code> as a function of the number of for <code class="function">insert</code> as a function of the number of
values inserted.</p><p>The test checks the effect of different underlying values inserted.</p><p>The test checks the effect of different underlying
...@@ -1207,7 +1207,7 @@ ...@@ -1207,7 +1207,7 @@
</h5></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"></a> </h5></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"></a>
Description Description
</h6></div></div></div><p>This test inserts a number of values with keys from an </h6></div></div></div><p>This test inserts a number of values with keys from an
arbitrary text ([ wickland96thirty ]) into arbitrary text ([wickland96thirty]) into
a container, then performs a series of finds using a container, then performs a series of finds using
<code class="function">find</code>. It is different than Tree-Based and <code class="function">find</code>. It is different than Tree-Based and
Trie-Based Text <code class="function">find</code> Find Timing Test in the Trie-Based Text <code class="function">find</code> Find Timing Test in the
...@@ -1467,7 +1467,7 @@ ...@@ -1467,7 +1467,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform i.i.d.integer. The container is a the second is a uniform i.i.d.integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
...@@ -1639,7 +1639,7 @@ ...@@ -1639,7 +1639,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform integer. The container is a the second is a uniform integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
...@@ -1811,7 +1811,7 @@ ...@@ -1811,7 +1811,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform integer. The container is a the second is a uniform integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
...@@ -1985,7 +1985,7 @@ ...@@ -1985,7 +1985,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform integer. The container is a the second is a uniform integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
...@@ -2159,7 +2159,7 @@ ...@@ -2159,7 +2159,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform integer. The container is a the second is a uniform integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
...@@ -2328,7 +2328,7 @@ ...@@ -2328,7 +2328,7 @@
Description Description
</h6></div></div></div><p>This test inserts a number of pairs into a container. The </h6></div></div></div><p>This test inserts a number of pairs into a container. The
first item of each pair is a string from an arbitrary text first item of each pair is a string from an arbitrary text
[wickland96thirty], and ([wickland96thirty]), and
the second is a uniform integer. The container is a the second is a uniform integer. The container is a
"multimap" - it considers the first member of each pair as a "multimap" - it considers the first member of each pair as a
primary key, and the second member of each pair as a secondary primary key, and the second member of each pair as a secondary
......
...@@ -354,10 +354,7 @@ ...@@ -354,10 +354,7 @@
priority-queues container), there is a possible need for priority-queues container), there is a possible need for
different types of iterators for self-organizing containers: different types of iterators for self-organizing containers:
the iterator concept seems overloaded to mean two different the iterator concept seems overloaded to mean two different
things (in some cases). <em><span class="remark"> XXX things (in some cases).
"ds_gen.html#find_range"&gt;Design::Associative
Containers::Data-Structure Genericity::Point-Type and Range-Type
Methods</span></em>.
</p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"></a>Using Point Iterators for Range Operations</h6></div></div></div><p> </p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"></a>Using Point Iterators for Range Operations</h6></div></div></div><p>
Suppose <code class="classname">cntnr</code> is some associative Suppose <code class="classname">cntnr</code> is some associative
container, and say <code class="varname">c</code> is an object of container, and say <code class="varname">c</code> is an object of
......
...@@ -656,7 +656,9 @@ ...@@ -656,7 +656,9 @@
Α<sub>max</sub>, and the hash table maintains the Α<sub>max</sub>, and the hash table maintains the
invariant that</p><p>Α<sub>min</sub> ≤ (number of invariant that</p><p>Α<sub>min</sub> ≤ (number of
stored elements) / (hash-table size) ≤ stored elements) / (hash-table size) ≤
Α<sub>max</sub><em><span class="remark">load factor min max</span></em></p><p>Collision-check policies work in the opposite direction of Α<sub>max</sub>
</p><p>Collision-check policies work in the opposite direction of
load-check policies. They focus on keeping the number of load-check policies. They focus on keeping the number of
collisions moderate and hoping that the size of the table will collisions moderate and hoping that the size of the table will
not grow very large, instead of keeping a moderate load-factor not grow very large, instead of keeping a moderate load-factor
......
...@@ -1082,11 +1082,11 @@ Feature-testing recommendations for C++</a>. ...@@ -1082,11 +1082,11 @@ Feature-testing recommendations for C++</a>.
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0768r1.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0768r1.pdf" target="_top">
P0768R1 P0768R1
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Treating Unnecessary <code class="code">decay</code> </td><td align="left"> </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Treating Unnecessary <code class="code">decay</code> </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf" target="_top">
P0777R1 P0777R1
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">&lt;span&gt;</code> </td><td align="left"> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">&lt;span&gt;</code> </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf" target="_top">
P0122R7 P0122R7
</a> </a>
...@@ -1248,11 +1248,11 @@ Feature-testing recommendations for C++</a>. ...@@ -1248,11 +1248,11 @@ Feature-testing recommendations for C++</a>.
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0602r4.html" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0602r4.html" target="_top">
P0602R4 P0602R4
</a> </a>
</td><td align="center"> 8.3 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> A sane <code class="code">variant</code> converting constructor </td><td align="left"> </td><td align="center"> 8.3 </td><td align="left"> </td></tr><tr><td align="left"> A sane <code class="code">variant</code> converting constructor </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html" target="_top">
P0608R3 P0608R3
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">visit&lt;R&gt;</code>: Explicit Return Type for <code class="code">visit</code> </td><td align="left"> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">visit&lt;R&gt;</code>: Explicit Return Type for <code class="code">visit</code> </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0655r1.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0655r1.pdf" target="_top">
P0655R1 P0655R1
</a> </a>
...@@ -1304,11 +1304,11 @@ Feature-testing recommendations for C++</a>. ...@@ -1304,11 +1304,11 @@ Feature-testing recommendations for C++</a>.
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf" target="_top">
P1148R0 P1148R0
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Make stateful allocator propagation more consistent for <code class="code">operator+(basic_string)</code> </td><td align="left"> </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Make stateful allocator propagation more consistent for <code class="code">operator+(basic_string)</code> </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html" target="_top">
P1165R1 P1165R1
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20 </td><td align="left"> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20 </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html" target="_top">
P1209R0 P1209R0
</a> </a>
...@@ -1328,7 +1328,11 @@ Feature-testing recommendations for C++</a>. ...@@ -1328,7 +1328,11 @@ Feature-testing recommendations for C++</a>.
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1285r0.pdf" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1285r0.pdf" target="_top">
P1285R0 P1285R0
</a> </a>
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left"> Missing feature test macros </td><td align="left"> </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Well-behaved interpolation for numbers and pointers </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0811r3.html" target="_top">
P0811R3
</a>
</td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left"> Missing feature test macros </td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1353r0.html" target="_top"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1353r0.html" target="_top">
P1353R0 P1353R0
</a> </a>
......
...@@ -227,14 +227,13 @@ Feature-testing recommendations for C++</link>. ...@@ -227,14 +227,13 @@ Feature-testing recommendations for C++</link>.
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry> Treating Unnecessary <code>decay</code> </entry> <entry> Treating Unnecessary <code>decay</code> </entry>
<entry> <entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf"> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf">
P0777R1 P0777R1
</link> </link>
</entry> </entry>
<entry align="center"> </entry> <entry align="center"> 9.1 </entry>
<entry /> <entry />
</row> </row>
...@@ -702,14 +701,13 @@ Feature-testing recommendations for C++</link>. ...@@ -702,14 +701,13 @@ Feature-testing recommendations for C++</link>.
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry> A sane <code>variant</code> converting constructor </entry> <entry> A sane <code>variant</code> converting constructor </entry>
<entry> <entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html"> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html">
P0608R3 P0608R3
</link> </link>
</entry> </entry>
<entry align="center"> </entry> <entry align="center"> 10.1 </entry>
<entry /> <entry />
</row> </row>
...@@ -863,14 +861,13 @@ Feature-testing recommendations for C++</link>. ...@@ -863,14 +861,13 @@ Feature-testing recommendations for C++</link>.
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry> Make stateful allocator propagation more consistent for <code>operator+(basic_string)</code> </entry> <entry> Make stateful allocator propagation more consistent for <code>operator+(basic_string)</code> </entry>
<entry> <entry>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html"> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html">
P1165R1 P1165R1
</link> </link>
</entry> </entry>
<entry align="center"> </entry> <entry align="center"> 10.1 </entry>
<entry /> <entry />
</row> </row>
......
...@@ -1756,7 +1756,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1756,7 +1756,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
return __make_from_tuple_impl<_Tp>( return __make_from_tuple_impl<_Tp>(
std::forward<_Tuple>(__t), std::forward<_Tuple>(__t),
make_index_sequence<tuple_size_v<decay_t<_Tuple>>>{}); make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
} }
#endif // C++17 #endif // C++17
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment