1749 lines
40 KiB
XML
1749 lines
40 KiB
XML
<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"?>
|
|
|
|
<info><title>C++ 2014</title>
|
|
<keywordset>
|
|
<keyword>ISO C++</keyword>
|
|
<keyword>2014</keyword>
|
|
</keywordset>
|
|
</info>
|
|
|
|
<para>
|
|
In this implementation the <literal>-std=gnu++14</literal> or
|
|
<literal>-std=c++14</literal> flag must be used to enable language
|
|
and library
|
|
features. See <link linkend="manual.intro.using.flags">dialect</link>
|
|
options. The pre-defined symbol
|
|
<constant>__cplusplus</constant> is used to check for the
|
|
presence of the required flag.
|
|
GCC 6.1 was the first release with non-experimental C++14 support,
|
|
so the API and ABI of features added in C++14 is only stable
|
|
since that release.
|
|
</para>
|
|
|
|
<para>
|
|
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 the GCC 12 release series,
|
|
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>
|
|
|
|
<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>18</emphasis>
|
|
</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>18.4</entry>
|
|
<entry>Integer types</entry>
|
|
<entry/>
|
|
<entry/>
|
|
</row>
|
|
<row>
|
|
<entry>18.4.1</entry>
|
|
<entry>Header <code><cstdint></code> synopsis</entry>
|
|
<entry>Y</entry>
|
|
<entry/>
|
|
</row>
|
|
<row>
|
|
<?dbhtml bgcolor="#B0B0B0" ?>
|
|
<entry>18.5</entry>
|
|
<entry>Start and termination</entry>
|
|
<entry>Partial</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>
|
|
</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>Exception support is broken on non-Linux targets.
|
|
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>
|
|
|
|
<tgroup cols="4" align="left" colsep="0" rowsep="1">
|
|
<colspec colname="c1"/>
|
|
<colspec colname="c2"/>
|
|
<colspec colname="c3"/>
|
|
<colspec colname="c4"/>
|
|
<thead>
|
|
<row>
|
|
<entry>Paper</entry>
|
|
<entry>Title</entry>
|
|
<entry>Status</entry>
|
|
<entry>Comments</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
<?dbhtml bgcolor="#C8B0B0" ?>
|
|
<entry>
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html">
|
|
N3662
|
|
</link>
|
|
</entry>
|
|
<entry>C++ Dynamic Arrays</entry>
|
|
<entry>N</entry>
|
|
<entry>Array Extensions TS</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/n3793.html">
|
|
N3793
|
|
</link>
|
|
</entry>
|
|
<entry>A proposal to add a utility class to represent optional objects</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/n3804.html">
|
|
N3804
|
|
</link>
|
|
</entry>
|
|
<entry>Any library proposal</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<?dbhtml bgcolor="#C8B0B0" ?>
|
|
<entry>
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html">
|
|
N3866
|
|
</link>
|
|
</entry>
|
|
<entry>Invocation type traits, but dropping function_call_operator.</entry>
|
|
<entry>N</entry>
|
|
<entry>Library Fundamentals TS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="">
|
|
N3905
|
|
</link>
|
|
</entry>
|
|
<entry>Faster string searching (Boyer-Moore et al.)</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3915.pdf">
|
|
N3915
|
|
</link>
|
|
</entry>
|
|
<entry>apply() call a function with arguments from a tuple</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3916.pdf">
|
|
N3916
|
|
</link>
|
|
</entry>
|
|
<entry>Polymorphic memory resources</entry>
|
|
<entry>Partial (missing pool resource and buffer resource classes)</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3920.html">
|
|
N3920
|
|
</link>
|
|
</entry>
|
|
<entry>Extending shared_ptr to support arrays</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3921.html">
|
|
N3921
|
|
</link>
|
|
</entry>
|
|
<entry><code>string_view</code>: a non-owning reference to a string</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3925.pdf">
|
|
N3925
|
|
</link>
|
|
</entry>
|
|
<entry>A sample proposal</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n3932.htm">
|
|
N3932
|
|
</link>
|
|
</entry>
|
|
<entry>Variable Templates For Type Traits</entry>
|
|
<entry>Y</entry>
|
|
<entry>Library Fundamentals TS</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/2014/n4100.pdf">
|
|
N4100
|
|
</link>
|
|
</entry>
|
|
<entry>File System</entry>
|
|
<entry>Y</entry>
|
|
<entry>
|
|
Link with
|
|
<link linkend="manual.intro.using.linkage.experimental">
|
|
<option>-lstdc++fs</option></link>
|
|
</entry>
|
|
</row>
|
|
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<section xml:id="iso.2014.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
|
|
|
|
<section xml:id="iso.2014.filesystemts" xreflabel="Implementation Specific Behavior of the Filesystem TS"><info><title>Filesystem TS</title></info>
|
|
<para>
|
|
<emphasis>2.1 POSIX conformance [fs.conform.9945]</emphasis>
|
|
The behavior of the filesystem library implementation will depend on
|
|
the target operating system. Some features will not be supported
|
|
on some targets. Symbolic links and file permissions
|
|
are not supported on Windows.
|
|
</para>
|
|
<para>
|
|
<emphasis>15.30 Rename [fs.op.rename]</emphasis>
|
|
On Windows, <code>experimental::filesystem::rename</code>
|
|
is implemented by calling <code>MoveFileExW</code> and so
|
|
does not meet the requirements of POSIX <code>rename</code>
|
|
when one or both of the paths resolves to an existing directory.
|
|
Specifically, it is possible to rename a directory so it replaces
|
|
a non-directory (POSIX requires an error in that case),
|
|
and it is not possible to rename a directory to replace another
|
|
directory (POSIX requires that to work if the directory being
|
|
replaced is empty).
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
</section>
|