@@ -341,6 +341,8 @@ xml_sources_manual = \
${xml_dir}/manual/status_cxx1998.xml \
${xml_dir}/manual/status_cxx2011.xml \
${xml_dir}/manual/status_cxx2014.xml \
+ ${xml_dir}/manual/status_cxx2017.xml \
+ ${xml_dir}/manual/status_cxx2020.xml \
${xml_dir}/manual/status_cxxtr1.xml \
${xml_dir}/manual/status_cxxtr24733.xml \
${xml_dir}/manual/strings.xml \
@@ -1,4 +1,4 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.1998" xreflabel="ISO C++ 1998">
<?dbhtml filename="status_iso_cxx1998.html"?>
@@ -11,14 +11,14 @@
<section xml:id="iso.1998.status" xreflabel="Implementation Status">
-<info><title>Implementation Status</title></info>
+<info><title>Implementation Status</title></info>
<para>
This status table is based on the table of contents of ISO/IEC 14882:2003.
</para>
<para>
-This page describes the C++ support in mainline GCC, not in any
+This section describes the C++ support in mainline GCC, not in any
particular release.
</para>
@@ -1030,7 +1030,7 @@ particular release.
</section>
<section xml:id="iso.1998.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
-
+
<para>
The ISO standard defines the following phrase:
@@ -1,4 +1,4 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.2011" xreflabel="Status C++ 2011">
<?dbhtml filename="status_iso_cxx2011.html"?>
@@ -27,7 +27,11 @@ presence of the required flag.
</para>
<para>
-This page describes the C++11 support in mainline GCC, not in any
+This status table is based on the table of contents of ISO/IEC 14882:2011.
+</para>
+
+<para>
+This section describes the C++11 support in mainline GCC, not in any
particular release.
</para>
@@ -71,7 +75,7 @@ particular release.
<row>
<entry>18.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
@@ -265,7 +269,7 @@ particular release.
<row>
<entry>19.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
@@ -350,13 +354,13 @@ particular release.
</row>
<row>
<entry>20.2.2</entry>
- <entry>Swap</entry>
+ <entry>swap</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>20.2.3</entry>
- <entry><code>forward</code> and <code>move</code> helpers</entry>
+ <entry>forward/move helpers</entry>
<entry>Y</entry>
<entry/>
</row>
@@ -627,7 +631,7 @@ particular release.
<row>
<entry>20.7.2</entry>
<entry>Shared-ownership pointers</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
@@ -653,7 +657,7 @@ particular release.
</row>
<row>
<entry>20.7.2.4</entry>
- <entry>Class template <code>emable_shared_from_this</code></entry>
+ <entry>Class template <code>enable_shared_from_this</code></entry>
<entry>Y</entry>
<entry/>
</row>
@@ -1115,9 +1119,7 @@ particular release.
<entry>21.7</entry>
<entry>Null-terminated sequence utilities</entry>
<entry>Partial</entry>
- <entry>C library dependency.
- Missing <filename class="headerfile"><cuchar></filename>
- </entry>
+ <entry>C library dependency. </entry>
</row>
<row>
<entry>
@@ -1636,7 +1638,7 @@ particular release.
<row>
<entry>26.1</entry>
<entry>General</entry>
- <entry>Y</entry>
+ <entry/>
<entry/>
</row>
<row>
@@ -1989,31 +1991,31 @@ particular release.
</row>
<row>
<entry>26.7.2</entry>
- <entry><code>accumulate</code></entry>
+ <entry>Accumulate></entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.3</entry>
- <entry><code>inner_product</code></entry>
+ <entry>Inner product</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.4</entry>
- <entry><code>partial_sum</code></entry>
+ <entry>Partial sum</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.5</entry>
- <entry><code>adjacent_difference</code></entry>
+ <entry>Adjacent difference</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.6</entry>
- <entry>iota</entry>
+ <entry>Iota</entry>
<entry>Y</entry>
<entry/>
</row>
@@ -2231,10 +2233,9 @@ particular release.
<entry/>
</row>
<row>
- <?dbhtml bgcolor="#B0B0B0" ?>
<entry>29.3</entry>
<entry>Order and consistency</entry>
- <entry>Partial</entry>
+ <entry>Y</entry>
<entry/>
</row>
<row>
@@ -2397,10 +2398,14 @@ particular release.
<entry/>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.4.4.2</entry>
<entry>Function <code>call_once</code></entry>
- <entry>Y</entry>
- <entry/>
+ <entry>Broken</entry>
+ <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR
+ 66146</link>
+ </entry>
</row>
<row>
<entry>30.5</entry>
@@ -2515,43 +2520,43 @@ particular release.
<row>
<entry>D.5</entry>
<entry>C standard library headers</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.6</entry>
<entry>Old iostreams members</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.7</entry>
<entry><code>char*</code> streams</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.8</entry>
<entry>Function objects</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.9</entry>
<entry>Binders</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.10</entry>
<entry><code>auto_ptr</code></entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.11</entry>
<entry>Violating exception-specifications</entry>
- <entry/>
+ <entry>Y</entry>
<entry/>
</row>
@@ -1,4 +1,4 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.2014" xreflabel="Status C++ 2014">
<?dbhtml filename="status_iso_cxx2014.html"?>
@@ -20,10 +20,25 @@ presence of the required flag.
</para>
<para>
-This page describes the C++14 and library TS support in mainline GCC,
+This status table is based on the table of contents of ISO/IEC 14882:2014.
+Some subclauses are not shown in the table where the content is unchanged
+since C++11 and the implementation is complete.
+</para>
+
+<para>
+This section describes the C++14 and library TS support in mainline GCC,
not in any particular release.
</para>
+<!-- Status is Yes or No, Broken/Partial-->
+<!--
+ Yes
+
+ No
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ Broken/Partial
+ <?dbhtml bgcolor="#B0B0B0" ?>
+-->
<table frame="all" xml:id="table.cxx14_status">
<title>C++ 2014 Implementation Status</title>
@@ -32,10 +47,10 @@ not in any particular release.
<colspec colname="c2"/>
<colspec colname="c3"/>
<colspec colname="c4"/>
- <thead>
+<thead>
<row>
- <entry>Paper</entry>
- <entry>Title</entry>
+ <entry>Section</entry>
+ <entry>Description</entry>
<entry>Status</entry>
<entry>Comments</entry>
</row>
@@ -45,211 +60,1502 @@ not in any particular release.
<row>
<entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3669.pdf">
- N3669
- </link>
+ <emphasis>18</emphasis>
</entry>
- <entry>Fixing constexpr member functions without const</entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Language support</emphasis>
+ </entry>
+ </row>
+
+ <row>
+ <entry>18.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.2</entry>
+ <entry>Types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.3</entry>
+ <entry>Implementation properties</entry>
+ <entry/>
+ <entry/>
+ </row>
+
+ <row>
+ <entry>18.3.2</entry>
+ <entry>Numeric Limits</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.3.2.3</entry>
+ <entry>Class template <code>numeric_limits</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.3.2.4</entry>
+ <entry><code>numeric_limits</code> members</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ <entry>18.3.2.5</entry>
+ <entry><code>float_round_style</code></entry>
+ <entry>N</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ <entry>18.3.2.6</entry>
+ <entry><code>float_denorm_style</code></entry>
+ <entry>N</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.3.2.7</entry>
+ <entry><code>numeric_limits</code> specializations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.3.3</entry>
+ <entry>C Library</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html">
- N3668
- </link>
- </entry>
- <entry><code>exchange()</code> utility function</entry>
- <entry>Y</entry>
+ <entry>18.4</entry>
+ <entry>Integer types</entry>
+ <entry/>
<entry/>
</row>
-
<row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3670.html">
- N3670
- </link>
- </entry>
- <entry>Wording for Addressing Tuples by Type</entry>
+ <entry>18.4.1</entry>
+ <entry>Header <code><cstdint></code> synopsis</entry>
<entry>Y</entry>
<entry/>
</row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3656.htm">
- N3656
- </link>
- </entry>
- <entry><code>make_unique</code></entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3462.html">
- N3462
- </link>
- </entry>
- <entry><code>std::result_of</code> and SFINAE</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3545.pdf">
- N3545
- </link>
- </entry>
- <entry>An Incremental Improvement to <code>integral_constant</code></entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3642.pdf">
- N3642
- </link>
- </entry>
- <entry>User-defined Literals for Standard Library Types</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3671.html">
- N3671
- </link>
- </entry>
- <entry>Making non-modifying sequence operations more robust</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3654.html">
- N3654
- </link>
- </entry>
- <entry>Quoted Strings Library Proposal</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3469.html">
- N3469
- </link>
- </entry>
- <entry>Constexpr Library Additions: chrono</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3470.html">
- N3470
- </link>
- </entry>
- <entry>Constexpr Library Additions: containers</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3471.html">
- N3471
- </link>
- </entry>
- <entry>Constexpr Library Additions: utilities</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3658.html">
- N3658
- </link>
- </entry>
- <entry>Compile-time integer sequences</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html">
- N3659
- </link>
- </entry>
- <entry>Shared Locking in C++</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm">
- N3421
- </link>
- </entry>
- <entry>Making Operator Functors greater<></entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3657.htm">
- N3657
- </link>
- </entry>
- <entry>Adding heterogeneous comparison lookup to associative containers</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
- <row>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3655.pdf">
- N3655
- </link>
- </entry>
- <entry>TransformationTraits Redux</entry>
- <entry>Y</entry>
- <entry/>
- </row>
-
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
- <entry>
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3644.pdf">
- N3644
- </link>
- </entry>
- <entry>Null Forward Iterators</entry>
+ <entry>18.5</entry>
+ <entry>Start and termination</entry>
<entry>Partial</entry>
- <entry>Only affects Debug Mode</entry>
+ <entry>C library dependency for quick_exit, at_quick_exit</entry>
+ </row>
+ <row>
+ <entry>18.6</entry>
+ <entry>Dynamic memory management</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.7</entry>
+ <entry>Type identification</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.7.1</entry>
+ <entry>Class type_info</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.7.2</entry>
+ <entry>Class bad_cast</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.7.3</entry>
+ <entry>Class bad_typeid</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8</entry>
+ <entry>Exception handling</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.1</entry>
+ <entry>Class exception</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.2</entry>
+ <entry>Class bad_exception</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.3</entry>
+ <entry>Abnormal termination</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.4</entry>
+ <entry><code>uncaught_exception</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.5</entry>
+ <entry>Exception Propagation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.8.6</entry>
+ <entry><code>nested_exception</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.9</entry>
+ <entry>Initializer lists</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.9.1</entry>
+ <entry>Initializer list constructors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.9.2</entry>
+ <entry>Initializer list access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.9.3</entry>
+ <entry>Initializer list range access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>18.10</entry>
+ <entry>Other runtime support</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>19</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Diagnostics</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>19.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.2</entry>
+ <entry>Exception classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.3</entry>
+ <entry>Assertions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.4</entry>
+ <entry>Error numbers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5</entry>
+ <entry>System error support</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5.1</entry>
+ <entry>Class <code>error_category</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5.2</entry>
+ <entry>Class <code>error_code</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5.3</entry>
+ <entry>Class <code>error_condition</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5.4</entry>
+ <entry>Comparison operators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>19.5.5</entry>
+ <entry>Class <code>system_error</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>20</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>General utilities</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>20.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2</entry>
+ <entry>Utility components</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2.1</entry>
+ <entry>Operators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2.2</entry>
+ <entry>swap</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2.3</entry>
+ <entry>exchange</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2.4</entry>
+ <entry>forward/move helpers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.2.5</entry>
+ <entry>Function template <code>declval</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.3</entry>
+ <entry>Pairs</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.4</entry>
+ <entry>Tuples</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.5</entry>
+ <entry>Compile-time integer sequences</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.5.2</entry>
+ <entry>Class template <code>integer_sequence</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.5.3</entry>
+ <entry>Alias template <code>make_integer_sequence</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.6</entry>
+ <entry>Class template <code>bitset</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.7</entry>
+ <entry>Memory</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8</entry>
+ <entry>Smart pointers</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1</entry>
+ <entry>Class template <code>unique_ptr</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1.1</entry>
+ <entry>Default deleters</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1.2</entry>
+ <entry><code>unique_ptr</code> for single objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1.3</entry>
+ <entry><code>unique_ptr</code> for array objects with a runtime length</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1.4</entry>
+ <entry><code>unique_ptr</code> creation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.1.5</entry>
+ <entry><code>unique_ptr</code> specialized algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2</entry>
+ <entry>Shared-ownership pointers</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.1</entry>
+ <entry>Class <code>bad_weak_ptr</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.2</entry>
+ <entry>Class template <code>shared_ptr</code></entry>
+ <entry>Y</entry>
+ <entry>
+ Uses code from
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
+ </entry>
+ </row>
+ <row>
+ <entry>20.8.2.3</entry>
+ <entry>Class template <code>weak_ptr</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.4</entry>
+ <entry>Class template <code>owner_less</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.5</entry>
+ <entry>Class template <code>enable_shared_from_this</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.6</entry>
+ <entry><code>shared_ptr</code> atomic access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.2.7</entry>
+ <entry>Smart pointer hash support</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9</entry>
+ <entry>Function objects</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.1</entry>
+ <entry>Definitions</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.2</entry>
+ <entry>Requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.3</entry>
+ <entry>Class template <code>reference_wrapper</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.4</entry>
+ <entry>Arithmetic operation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.5</entry>
+ <entry>Comparisons</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.8.6</entry>
+ <entry>Logical operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.7</entry>
+ <entry>Bitwise operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.8</entry>
+ <entry>Negators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.9</entry>
+ <entry>Function object binders</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.10</entry>
+ <entry>Function template <code>mem_fn</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.11</entry>
+ <entry>Polymorphic function wrappers</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.9.11.1</entry>
+ <entry>Class <code>bad_function_call</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>20.9.11.2</entry>
+ <entry>Class template <code>function</code></entry>
+ <entry>Partial</entry>
+ <entry>Missing allocator support</entry>
+ </row>
+ <row>
+ <entry>20.9.12</entry>
+ <entry>Class template <code>hash</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10</entry>
+ <entry>Metaprogramming and type traits</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.1</entry>
+ <entry>Requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.2</entry>
+ <entry>Header <code><type_traits></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.3</entry>
+ <entry>Helper classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.4</entry>
+ <entry>Unary Type Traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.5</entry>
+ <entry>Type property queries</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.6</entry>
+ <entry>Relationships between types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.10.7</entry>
+ <entry>Transformations between types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.11</entry>
+ <entry>Compile-time rational arithmetic</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12</entry>
+ <entry>Time utilities</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.3</entry>
+ <entry>Clock requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.4</entry>
+ <entry>Time-related traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.5</entry>
+ <entry>Class template <code>duration</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.5.8</entry>
+ <entry>Suffixes for duration literals</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.6</entry>
+ <entry>Class template <code>time_point</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.7</entry>
+ <entry>Clocks</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.12.8</entry>
+ <entry>Date and time functions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.13</entry>
+ <entry>Scoped allocator adaptor</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>20.14</entry>
+ <entry>Class <code>type_index</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>21</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Strings</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>21.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.2</entry>
+ <entry>Character traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3</entry>
+ <entry>String classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.4</entry>
+ <entry>Class template <code>basic_string</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.5</entry>
+ <entry>Numeric Conversions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.6</entry>
+ <entry>Hash support</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.7</entry>
+ <entry>Suffixes for <code>basic_string</code> literals</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>21.7</entry>
+ <entry>Null-terminated sequence utilities</entry>
+ <entry>Partial</entry>
+ <entry>C library dependency. </entry>
+ </row>
+ <row>
+ <entry>
+ <emphasis>22</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Localization</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>22.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.2</entry>
+ <entry>Header <code><locale></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.3</entry>
+ <entry>Locales</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.4</entry>
+ <entry>Standard <code>locale</code> categories</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.5</entry>
+ <entry>Standard code conversion facets</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.6</entry>
+ <entry>C Library Locales</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>23</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Containers</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>23.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2</entry>
+ <entry>Container requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.3</entry>
+ <entry>Sequence containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.4</entry>
+ <entry>Associative containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.5</entry>
+ <entry>Unordered associative containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.6</entry>
+ <entry>Container adaptors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>24</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Iterators</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>24.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.2</entry>
+ <entry>Iterator requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.3</entry>
+ <entry>Header <code><iterator></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4</entry>
+ <entry>Iterator primitives</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.5</entry>
+ <entry>Iterator adaptors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.6</entry>
+ <entry>Stream iterators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.7</entry>
+ <entry>range access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>25</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Algorithms</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>25.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.2</entry>
+ <entry>Non-modifying sequence operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.3</entry>
+ <entry>Mutating sequence operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.4</entry>
+ <entry>Sorting and related operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.5</entry>
+ <entry>C library algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>26</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Numerics</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>26.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.2</entry>
+ <entry>Numeric type requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.3</entry>
+ <entry>The floating-point environment</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.4</entry>
+ <entry>Complex numbers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.4.10</entry>
+ <entry>Suffixes for complex number literals</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.5</entry>
+ <entry>Random number generation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.6</entry>
+ <entry>Numeric arrays</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.7</entry>
+ <entry>Generalized numeric operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.8</entry>
+ <entry>C Library</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>27</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Input/output library</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>27.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.2</entry>
+ <entry>Iostreams requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.2.1</entry>
+ <entry>Imbue Limitations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.2.2</entry>
+ <entry>Positioning Type Limitations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>27.2.3</entry>
+ <entry>Thread safety</entry>
+ <entry>Partial</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.3</entry>
+ <entry>Forward declarations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.4</entry>
+ <entry>Standard iostream objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.5</entry>
+ <entry>Iostreams base classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.6</entry>
+ <entry>Stream buffers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.7</entry>
+ <entry>Formatting and manipulators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.7.6</entry>
+ <entry>Quoted manipulators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.8</entry>
+ <entry>String-based streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.9</entry>
+ <entry>File-based streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>28</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Regular expressions</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>28.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.2</entry>
+ <entry>Definitions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.3</entry>
+ <entry>Requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.4</entry>
+ <entry>Header <code><regex></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.5</entry>
+ <entry>Namespace <code>std::regex_constants</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.6</entry>
+ <entry>Class <code>regex_error</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>28.7</entry>
+ <entry>Class template <code>regex_traits</code></entry>
+ <entry>Partial</entry>
+ <entry><code>transform_primary</code> is not correctly implemented</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.8</entry>
+ <entry>Class template <code>basic_regex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.9</entry>
+ <entry>Class template <code>sub_match</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.10</entry>
+ <entry>Class template <code>match_results</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.11</entry>
+ <entry>Regular expression algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.12</entry>
+ <entry>Regular expression Iterators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.13</entry>
+ <entry>Modified ECMAScript regular expression grammar</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>29</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Atomic operations</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>29.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.2</entry>
+ <entry>Header <code><atomic></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.3</entry>
+ <entry>Order and consistency</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.4</entry>
+ <entry>Lock-free property</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.5</entry>
+ <entry>Atomic types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.6</entry>
+ <entry>Operations on atomic types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.7</entry>
+ <entry>Flag Type and operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8</entry>
+ <entry>Fences</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>30</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Thread support</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>30.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.2</entry>
+ <entry>Requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.3</entry>
+ <entry>Threads</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>30.3.1</entry>
+ <entry>Class <code>thread</code></entry>
+ <entry>Partial</entry>
+ <entry><code>thread::id</code> comparisons not well-defined</entry>
+ </row>
+ <row>
+ <entry>30.3.2</entry>
+ <entry>Namespace <code>this_thread</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4</entry>
+ <entry>Mutual exclusion</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1</entry>
+ <entry>Mutex requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.1</entry>
+ <entry>In general</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.2</entry>
+ <entry>Mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.2.1</entry>
+ <entry>Class <code>mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.2.2</entry>
+ <entry>Class <code>recursive_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.3</entry>
+ <entry>Timed mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.3.1</entry>
+ <entry>Class <code>timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.3.2</entry>
+ <entry>Class <code>recursive_timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.4</entry>
+ <entry>Shared timed mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.1.4.1</entry>
+ <entry>Class <code>shared_timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.2</entry>
+ <entry>Locks</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.2.1</entry>
+ <entry>Class template <code>lock_guard</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.2.2</entry>
+ <entry>Class template <code>unique_lock</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.2.3</entry>
+ <entry>Class template <code>shared_lock</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.3</entry>
+ <entry>Generic locking algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.4</entry>
+ <entry>Call once</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4.4.1</entry>
+ <entry>Struct <code>once_flag</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>30.4.4.2</entry>
+ <entry>Function <code>call_once</code></entry>
+ <entry>Broken</entry>
+ <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR
+ 66146</link>
+ </entry>
+ </row>
+ <row>
+ <entry>30.5</entry>
+ <entry>Condition variables</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.5.1</entry>
+ <entry>Class <code>condition_variable</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.5.2</entry>
+ <entry>Class <code>condition_variable_any</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6</entry>
+ <entry>Futures</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.1</entry>
+ <entry>Overview</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.2</entry>
+ <entry>Error handling</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.3</entry>
+ <entry>Class <code>future_error</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.4</entry>
+ <entry>Shared state</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.5</entry>
+ <entry>Class template <code>promise</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.6</entry>
+ <entry>Class template <code>future</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.7</entry>
+ <entry>Class template <code>shared_future</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.8</entry>
+ <entry>Function template <code>async</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6.9</entry>
+ <entry>Class template <code>packaged_task</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>Appendix D</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Compatibility features</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>D.1</entry>
+ <entry>Increment operator with <code>bool</code> operand</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.2</entry>
+ <entry><code>register</code> keyword</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.3</entry>
+ <entry>Implicit declaration of copy functions</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.4</entry>
+ <entry>Dynamic exception specifications</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.5</entry>
+ <entry>C standard library headers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.6</entry>
+ <entry>Old iostreams members</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.7</entry>
+ <entry><code>char*</code> streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.8</entry>
+ <entry>Function objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.9</entry>
+ <entry>Binders</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.10</entry>
+ <entry><code>auto_ptr</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.11</entry>
+ <entry>Violating exception-specifications</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.12</entry>
+ <entry>Random shuffle</entry>
+ <entry>Y</entry>
+ <entry/>
</row>
</tbody>
</tgroup>
</table>
-
<table frame="all" xml:id="table.ts_status">
<title>C++ Technical Specifications Implementation Status</title>
@@ -1,4 +1,4 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.2017" xreflabel="Status C++ 2017">
<?dbhtml filename="status_iso_cxx2017.html"?>
@@ -35,8 +35,8 @@ The "SD-6 Feature Test" column shows the corresponding macro or header from
Feature-testing recommendations for C++</link>.
</para>
-<table frame="all" xml:id="table.cxx17_status">
-<title>C++ 2017 Implementation Status</title>
+<table frame="all" xml:id="table.cxx17_features">
+<title>C++ 2017 Library Features</title>
<tgroup cols="4" align="left" colsep="0" rowsep="1">
<colspec colname="c1"/>
@@ -469,7 +469,7 @@ Feature-testing recommendations for C++</link>.
</link>
</entry>
<entry align="center"> 7.1 </entry>
- <entry><code> __cpp_lib_is_callable >= 201603 </code></entry>
+ <entry><code> __cpp_lib_is_invocable >= 201703 </code></entry>
</row>
<row>
@@ -854,6 +854,1865 @@ GCC 7.1 onwards. For GCC 6.x or for C++11/C++14 define
and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>.
</para>
+
+
+<para>
+The following status table is based on the table of contents of
+ISO/IEC 14882:2017.
+Some subclauses are not shown in the table where the content is unchanged
+since C++14 and the implementation is complete.
+</para>
+
+<table frame="all" xml:id="table.cxx17_status">
+<title>C++ 2017 Implementation Status</title>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+ <thead>
+ <row>
+ <entry>Section</entry>
+ <entry>Description</entry>
+ <entry>Status</entry>
+ <entry>Comments</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>
+ <emphasis>21</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Language support</emphasis>
+ </entry>
+ </row>
+
+ <row>
+ <entry>21.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.2</entry>
+ <entry>Common definitions</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3</entry>
+ <entry>Implementation properties</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.2</entry>
+ <entry>Header <code><limits></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.3</entry>
+ <entry>Floating-point type properties</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ <entry>21.3.3.1</entry>
+ <entry><code>float_round_style</code></entry>
+ <entry>N</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ <entry>21.3.3.2</entry>
+ <entry><code>float_denorm_style</code></entry>
+ <entry>N</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.4</entry>
+ <entry>Class template <code>numeric_limits</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.5</entry>
+ <entry>Header <code><climits></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.3.6</entry>
+ <entry>Header <code><cfloat></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.4</entry>
+ <entry>Integer types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.4.1</entry>
+ <entry>Header <code><cstdint></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>21.5</entry>
+ <entry>Start and termination</entry>
+ <entry>Partial</entry>
+ <entry>C library dependency for quick_exit, at_quick_exit</entry>
+ </row>
+ <row>
+ <entry>21.6</entry>
+ <entry>Dynamic memory management</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.6.1</entry>
+ <entry>Header <code><new></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.6.2</entry>
+ <entry>Storage allocation and deallocation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.6.3</entry>
+ <entry>Storage allocation errors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.6.4</entry>
+ <entry>Pointer optimization barrier</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#C8B0B0" ?>
+ <entry>21.6.5</entry>
+ <entry>Hardware interference size</entry>
+ <entry>N</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.7</entry>
+ <entry>Type identification</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8</entry>
+ <entry>Exception handling</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.1</entry>
+ <entry>Header <code><exception></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.2</entry>
+ <entry>Class exception</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.3</entry>
+ <entry>Class bad_exception</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.4</entry>
+ <entry>Abnormal termination</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.5</entry>
+ <entry><code>uncaught_exceptions</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.6</entry>
+ <entry>Exception Propagation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.8.7</entry>
+ <entry><code>nested_exception</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.9</entry>
+ <entry>Initializer lists</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>21.10</entry>
+ <entry>Other runtime support</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>22</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Diagnostics</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>22.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.2</entry>
+ <entry>Exception classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.3</entry>
+ <entry>Assertions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.4</entry>
+ <entry>Error numbers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>22.5</entry>
+ <entry>System error support</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>23</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>General utilities</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>23.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2</entry>
+ <entry>Utility components</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.1</entry>
+ <entry>Header <code><utility></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.2</entry>
+ <entry>Operators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.3</entry>
+ <entry><code>swap</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.4</entry>
+ <entry><code>exchange</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.5</entry>
+ <entry>Forward/move helpers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.6</entry>
+ <entry>Function template <code>as_const</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.2.7</entry>
+ <entry>Function template <code>declval</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>23.2.8</entry>
+ <entry>Primitive numeric output conversion</entry>
+ <entry>Partial</entry>
+ <entry>Only integer types supported, not floating-point types</entry>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>23.2.9</entry>
+ <entry>Primitive numeric input conversion</entry>
+ <entry>Partial</entry>
+ <entry>Only integer types supported, not floating-point types</entry>
+ </row>
+ <row>
+ <entry>23.3</entry>
+ <entry>Compile-time integer sequences</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.4</entry>
+ <entry>Pairs</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.5</entry>
+ <entry>Tuples</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.6</entry>
+ <entry>Optional objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.7</entry>
+ <entry>Variants</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.8</entry>
+ <entry>Storage for any type</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.9</entry>
+ <entry>Bitsets</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10</entry>
+ <entry>Memory</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.1</entry>
+ <entry>In general</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.2</entry>
+ <entry>Header <code><memory></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.3</entry>
+ <entry>Pointer traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.4</entry>
+ <entry>Pointer safety</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.5</entry>
+ <entry>Align</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.6</entry>
+ <entry>Allocator argument tag</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.7</entry>
+ <entry><code>uses_allocator</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.8</entry>
+ <entry>Allocator traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.9</entry>
+ <entry>The default allocator</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.10</entry>
+ <entry>Specialized algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.10.11</entry>
+ <entry>C library memory allocation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.11</entry>
+ <entry>Smart pointers</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.11.1</entry>
+ <entry>Class template <code>unique_ptr</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.11.2</entry>
+ <entry>Shared-ownership pointers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12</entry>
+ <entry>Memory resources</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.1</entry>
+ <entry>Header <code><memory_resource></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.2</entry>
+ <entry>Class <code>memory_resource</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.3</entry>
+ <entry>Class template <code>polymorphic_allocator</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.4</entry>
+ <entry>Access to program-wide <code>memory_resource</code> objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.5</entry>
+ <entry>Pool resource classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.12.6</entry>
+ <entry>Class <code>monotonic_buffer_resource</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.13</entry>
+ <entry>Class template <code>scoped_allocator_adaptor</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14</entry>
+ <entry>Function objects</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.1</entry>
+ <entry>Header <code><functional></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.2</entry>
+ <entry>Definitions</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.3</entry>
+ <entry>Requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.4</entry>
+ <entry>Function template <code>invoke</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.5</entry>
+ <entry>Class template <code>reference_wrapper</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.6</entry>
+ <entry>Arithmetic operation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.7</entry>
+ <entry>Comparisons</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.8</entry>
+ <entry>Logical operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.9</entry>
+ <entry>Bitwise operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.10</entry>
+ <entry>Function template <code>not_fn</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.11</entry>
+ <entry>Function object binders</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.12</entry>
+ <entry>Function template <code>mem_fn</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.13</entry>
+ <entry>Polymorphic function wrappers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.14</entry>
+ <entry>Searchers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.14.15</entry>
+ <entry>Class template <code>hash</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15</entry>
+ <entry>Metaprogramming and type traits</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.1</entry>
+ <entry>Requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.2</entry>
+ <entry>Header <code><type_traits></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.3</entry>
+ <entry>Helper classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.4</entry>
+ <entry>Unary Type Traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.5</entry>
+ <entry>Type property queries</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.6</entry>
+ <entry>Relationships between types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.7</entry>
+ <entry>Transformations between types</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.15.8</entry>
+ <entry>Logical operator traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.16</entry>
+ <entry>Compile-time rational arithmetic</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.1</entry>
+ <entry>In general</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.2</entry>
+ <entry>Header <code><chrono></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17</entry>
+ <entry>Time utilities</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.3</entry>
+ <entry>Clock requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.4</entry>
+ <entry>Time-related traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.5</entry>
+ <entry>Class template <code>duration</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.6</entry>
+ <entry>Class template <code>time_point</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.7</entry>
+ <entry>Clocks</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.17.8</entry>
+ <entry>Header <code><ctime></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.18</entry>
+ <entry>Class <code>type_index</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19</entry>
+ <entry>Execution policies</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.1</entry>
+ <entry>In general</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.2</entry>
+ <entry>Header <code><execution></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.3</entry>
+ <entry>Execution policy type trait</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.4</entry>
+ <entry>Sequenced execution policy</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.5</entry>
+ <entry>Parallel execution policy</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.6</entry>
+ <entry>Parallel and unsequenced execution policy</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>23.19.7</entry>
+ <entry>Execution policy objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>24</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Strings</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>24.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.2</entry>
+ <entry>Character traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.3</entry>
+ <entry>String classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4</entry>
+ <entry>String view classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.1</entry>
+ <entry>Header <code><string_view></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.2</entry>
+ <entry>Class template <code>basic_string_view</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.3</entry>
+ <entry>Non-member comparison functions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.4</entry>
+ <entry>Inserters and extractors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.5</entry>
+ <entry>Hash support</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>24.4.6</entry>
+ <entry>Suffix for <code>basic_string_view</code> literals</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>24.5</entry>
+ <entry>Null-terminated sequence utilities</entry>
+ <entry>Partial</entry>
+ <entry>C library dependency. </entry>
+ </row>
+ <row>
+ <entry>
+ <emphasis>25</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Localization</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>25.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.2</entry>
+ <entry>Header <code><locale></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.3</entry>
+ <entry>Locales</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.4</entry>
+ <entry>Standard <code>locale</code> categories</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>25.5</entry>
+ <entry>C Library Locales</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>26</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Containers</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>26.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.2</entry>
+ <entry>Container requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.3</entry>
+ <entry>Sequence containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.4</entry>
+ <entry>Associative containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.5</entry>
+ <entry>Unordered associative containers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>26.6</entry>
+ <entry>Container adaptors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>27</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Iterators</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>27.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.2</entry>
+ <entry>Iterator requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.3</entry>
+ <entry>Header <code><iterator></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.4</entry>
+ <entry>Iterator primitives</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.5</entry>
+ <entry>Iterator adaptors</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.6</entry>
+ <entry>Stream iterators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.7</entry>
+ <entry>Range access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>27.8</entry>
+ <entry>Container access</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>28</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Algorithms</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>28.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.2</entry>
+ <entry>Header <code><algorithm></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.3</entry>
+ <entry>Algorithms requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.4</entry>
+ <entry>Parallel algorithms</entry>
+ <entry/>
+ <entry>Using <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://github.com/intel/parallelstl">PSTL</link></entry>
+ </row>
+ <row>
+ <entry>28.5</entry>
+ <entry>Non-modifying sequence operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.6</entry>
+ <entry>Mutating sequence operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.7</entry>
+ <entry>Sorting and related operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>28.8</entry>
+ <entry>C library algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>29</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Numerics</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>29.1</entry>
+ <entry>General</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.2</entry>
+ <entry>Definitions</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.3</entry>
+ <entry>Numeric type requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.4</entry>
+ <entry>The floating-point environment</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.5</entry>
+ <entry>Complex numbers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.6</entry>
+ <entry>Random number generation</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.7</entry>
+ <entry>Numeric arrays</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8</entry>
+ <entry>Generalized numeric operations</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.1</entry>
+ <entry>Header <code><numeric></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.2</entry>
+ <entry>Accumulate</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.3</entry>
+ <entry>Reduce</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.4</entry>
+ <entry>Inner product</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.5</entry>
+ <entry>Transform reduce</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.6</entry>
+ <entry>Partial sum</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.7</entry>
+ <entry>Exclusive scan</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.8</entry>
+ <entry>Inclusive scan</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.9</entry>
+ <entry>Transform exclusive scan</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.10</entry>
+ <entry>Transform inclusive scan</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.11</entry>
+ <entry>Adjacent difference</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.12</entry>
+ <entry>Iota</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.13</entry>
+ <entry>Greatest common divisor</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.8.14</entry>
+ <entry>Least common multiple</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9</entry>
+ <entry>Mathematical functions for floating-point types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9.1</entry>
+ <entry>Header <code><cmath></code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9.2</entry>
+ <entry>Absolute values</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9.3</entry>
+ <entry>Three-dimensional hypotenuse</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9.4</entry>
+ <entry>Classification / comparison functions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>29.9.5</entry>
+ <entry>Mathematical special functions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>30</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Input/output library</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>30.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.2</entry>
+ <entry>Iostreams requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.2.1</entry>
+ <entry>Imbue Limitations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.2.2</entry>
+ <entry>Positioning Type Limitations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>30.2.3</entry>
+ <entry>Thread safety</entry>
+ <entry>Partial</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.3</entry>
+ <entry>Forward declarations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.4</entry>
+ <entry>Standard iostream objects</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.5</entry>
+ <entry>Iostreams base classes</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.6</entry>
+ <entry>Stream buffers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.7</entry>
+ <entry>Formatting and manipulators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.8</entry>
+ <entry>String-based streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.9</entry>
+ <entry>File-based streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.10</entry>
+ <entry>File systemss</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>30.11</entry>
+ <entry>C library files</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>31</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Regular expressions</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>31.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.2</entry>
+ <entry>Definitions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.3</entry>
+ <entry>Requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.4</entry>
+ <entry>Header <code><regex></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.5</entry>
+ <entry>Namespace <code>std::regex_constants</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.6</entry>
+ <entry>Class <code>regex_error</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>31.7</entry>
+ <entry>Class template <code>regex_traits</code></entry>
+ <entry>Partial</entry>
+ <entry><code>transform_primary</code> is not correctly implemented</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.8</entry>
+ <entry>Class template <code>basic_regex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.9</entry>
+ <entry>Class template <code>sub_match</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.10</entry>
+ <entry>Class template <code>match_results</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.11</entry>
+ <entry>Regular expression algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.12</entry>
+ <entry>Regular expression Iterators</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>31.13</entry>
+ <entry>Modified ECMAScript regular expression grammar</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>32</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Atomic operations</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>32.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.2</entry>
+ <entry>Header <code><atomic></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.3</entry>
+ <entry>Type aliases</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.4</entry>
+ <entry>Order and consistency</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.5</entry>
+ <entry>Lock-free property</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.6</entry>
+ <entry>Class template <code><atomic></code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.7</entry>
+ <entry>Non-member functions</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.8</entry>
+ <entry>Flag Type and operations</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>32.9</entry>
+ <entry>Fences</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>33</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Thread support</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>33.1</entry>
+ <entry>General</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.2</entry>
+ <entry>Requirements</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.3</entry>
+ <entry>Threads</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.3.1</entry>
+ <entry>Header <code>thread</code> synopsis</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.3.2</entry>
+ <entry>Class <code>thread</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>33.3.2.1</entry>
+ <entry>Class <code>thread</code></entry>
+ <entry>Partial</entry>
+ <entry><code>thread::id</code> comparisons not well-defined</entry>
+ </row>
+ <row>
+ <entry>33.3.3</entry>
+ <entry>Namespace <code>this_thread</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4</entry>
+ <entry>Mutual exclusion</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3</entry>
+ <entry>Mutex requirements</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.1</entry>
+ <entry>In general</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.2</entry>
+ <entry>Mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.2.1</entry>
+ <entry>Class <code>mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.2.2</entry>
+ <entry>Class <code>recursive_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.3</entry>
+ <entry>Timed mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.3.1</entry>
+ <entry>Class <code>timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.3.2</entry>
+ <entry>Class <code>recursive_timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.4</entry>
+ <entry>Shared mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.4.1</entry>
+ <entry>Class <code>shared_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.5</entry>
+ <entry>Shared timed mutex types</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.3.5.1</entry>
+ <entry>Class <code>shared_timed_mutex</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.4</entry>
+ <entry>Locks</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.4.1</entry>
+ <entry>Class template <code>lock_guard</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.4.2</entry>
+ <entry>Class template <code>scoped_guard</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.4.3</entry>
+ <entry>Class template <code>unique_lock</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.4.4</entry>
+ <entry>Class template <code>shared_lock</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.5</entry>
+ <entry>Generic locking algorithms</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.6</entry>
+ <entry>Call once</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.4.6.1</entry>
+ <entry>Struct <code>once_flag</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
+ <entry>33.4.6.2</entry>
+ <entry>Function <code>call_once</code></entry>
+ <entry>Broken</entry>
+ <entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink"
+ xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR
+ 66146</link>
+ </entry>
+ </row>
+ <row>
+ <entry>33.5</entry>
+ <entry>Condition variables</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.5.1</entry>
+ <entry>Class <code>condition_variable</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.5.2</entry>
+ <entry>Class <code>condition_variable_any</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6</entry>
+ <entry>Futures</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.1</entry>
+ <entry>Overview</entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.2</entry>
+ <entry>Header <code><future></code></entry>
+ <entry/>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.3</entry>
+ <entry>Error handling</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.4</entry>
+ <entry>Class <code>future_error</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.5</entry>
+ <entry>Shared state</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.6</entry>
+ <entry>Class template <code>promise</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.7</entry>
+ <entry>Class template <code>future</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.8</entry>
+ <entry>Class template <code>shared_future</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.9</entry>
+ <entry>Function template <code>async</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>33.6.10</entry>
+ <entry>Class template <code>packaged_task</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>
+ <emphasis>Appendix D</emphasis>
+ </entry>
+ <entry namest="c2" nameend="c4" align="left">
+ <emphasis>Compatibility features</emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>D.4</entry>
+ <entry>C++ standard library headers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.4.1</entry>
+ <entry>Header <code><ccomplex></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.4.1</entry>
+ <entry>Header <code><cstdalign></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.4.1</entry>
+ <entry>Header <code><cstdbool></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.4.1</entry>
+ <entry>Header <code><ctgmath></code> synopsis</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.5</entry>
+ <entry>C standard library headers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.6</entry>
+ <entry><code>char*</code> streams</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.7</entry>
+ <entry><code>uncaught_exception</code></entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.8</entry>
+ <entry>Old adaptable function bindings</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.9</entry>
+ <entry>The default allocator</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.10</entry>
+ <entry>Raw storage iterator</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.11</entry>
+ <entry>Temporary buffers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.12</entry>
+ <entry>Deprecated type traits</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.13</entry>
+ <entry>Deprecated iterator primitives</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.14</entry>
+ <entry>Deprecated <code>shared_ptr</code> observers</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.15</entry>
+ <entry>Deprecated standard code conversion facets</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+ <row>
+ <entry>D.16</entry>
+ <entry>Deprecated convenience conversion interfaces</entry>
+ <entry>Y</entry>
+ <entry/>
+ </row>
+
+ </tbody>
+</tgroup>
+</table>
+
<table frame="all" xml:id="table.cxx17_ts_status">
<title>C++ Technical Specifications Implementation Status</title>