Add missing piece of P0777R1 and update C++20 status docs
authorJonathan Wakely <jwakely@redhat.com>
Fri, 17 May 2019 09:28:13 +0000 (10:28 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 17 May 2019 09:28:13 +0000 (10:28 +0100)
* 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

libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
libstdc++-v3/doc/html/manual/policy_data_structures.html
libstdc++-v3/doc/html/manual/policy_data_structures_design.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/xml/manual/status_cxx2020.xml
libstdc++-v3/include/std/tuple

index 5ba8c2212e357b5940378fe96784d34692b476ed..2c119b563a512994e125624986db2bf5952789cc 100644 (file)
@@ -1,3 +1,11 @@
+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>
 
        Move from state of allocators (LWG2593)
index 6e454bd7f52c69eb43d3d8ec71aa494c153e6ced..0c2de38ffa7023c6a26d0adc9f457b605e5ea546 100644 (file)
        </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
          </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
          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
        </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
          </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
          <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
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform i.i.d.integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
            Description
          </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
-         [wickland96thirty], and
+         ([wickland96thirty]), and
          the second is a uniform integer. The container is a
          "multimap" - it considers the first member of each pair as a
          primary key, and the second member of each pair as a secondary
index 5744ffee37a6b07727b8cf75ce54fc882f1ba1dc..02caac0d1d2cb96c8917cd5ec24dffc32439ae8a 100644 (file)
            priority-queues container), there is a possible need for
            different types of iterators for self-organizing containers:
            the iterator concept seems overloaded to mean two different
-           things (in some cases). <em><span class="remark"> XXX
-           "ds_gen.html#find_range"&gt;Design::Associative
-           Containers::Data-Structure Genericity::Point-Type and Range-Type
-           Methods</span></em>.
+           things (in some cases). 
          </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
              container, and say <code class="varname">c</code> is an object of
index 611b2e76ee9b79ddc5b0624656302d9fdd1781ff..ca3c2ae36d9e082174beb0b45800041845ed47db 100644 (file)
            Α<sub>max</sub>, and the hash table maintains the
            invariant that</p><p>Α<sub>min</sub> ≤ (number of
            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
            collisions moderate and hoping that the size of the table will
            not grow very large, instead of keeping a moderate load-factor
index 97bb38c667451b9e88f6b768be2b83c6e8e25f1b..f6494b5477fbcfec9e5b5710a89a83b0d7e517b2 100644 (file)
@@ -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">
        P0768R1
        </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">
        P0777R1
        </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">
        P0122R7
        </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">
        P0602R4
        </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">
        P0608R3
        </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">
        P0655R1
        </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">
        P1148R0
        </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">
        P1165R1
        </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">
        P1209R0
        </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">
        P1285R0
        </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">
        P1353R0
        </a>
index 5cdd2227ae06d960e81cd5047276f86f300bc107..c7a543f85d94d9a35296ebcc11fa6d0e67e8f5c8 100644 (file)
@@ -227,14 +227,13 @@ Feature-testing recommendations for C++</link>.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>  Treating Unnecessary <code>decay</code> </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">
        P0777R1
        </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 9.1 </entry>
       <entry />
     </row>
 
@@ -702,14 +701,13 @@ Feature-testing recommendations for C++</link>.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>  A sane <code>variant</code> converting constructor </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">
        P0608R3
        </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 10.1 </entry>
       <entry />
     </row>
 
@@ -863,14 +861,13 @@ Feature-testing recommendations for C++</link>.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>  Make stateful allocator propagation more consistent for <code>operator+(basic_string)</code> </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">
        P1165R1
        </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 10.1 </entry>
       <entry />
     </row>
 
index a28111749f0b39a0390012ced0257e25d05b11b4..b81157c097bea07b44fb7e6d718ce2c15e0888a7 100644 (file)
@@ -1756,7 +1756,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
       return __make_from_tuple_impl<_Tp>(
         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