| <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"?> |
| |
| <info><title>C++ 2011</title> |
| <keywordset> |
| <keyword>ISO C++</keyword> |
| <keyword>2011</keyword> |
| </keywordset> |
| </info> |
| |
| <para> |
| <anchor xml:id="status.iso.200x" /> <!-- preserve links to old section ID --> |
| This table is based on the table of contents of ISO/IEC |
| JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 |
| Final Draft International Standard, Standard for Programming Language C++ |
| </para> |
| |
| <para> |
| In this implementation the <literal>-std=gnu++11</literal> or |
| <literal>-std=c++11</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 5.1 was the first release with non-experimental C++11 support, |
| so the API and ABI of features added in C++11 is only stable |
| since that release. |
| </para> |
| |
| <para> |
| 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> |
| |
| <!-- Status is Yes or No, Broken/Partial--> |
| <!-- |
| Yes |
| |
| No |
| <?dbhtml bgcolor="#C8B0B0" ?> |
| Broken/Partial |
| <?dbhtml bgcolor="#B0B0B0" ?> |
| --> |
| <table frame="all" xml:id="table.cxx11_status"> |
| <title>C++ 2011 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>forward/move helpers</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.2.4</entry> |
| <entry>Function template <code>declval</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3</entry> |
| <entry>Pairs</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3.1</entry> |
| <entry>In general</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3.2</entry> |
| <entry>Class template <code>pair</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3.3</entry> |
| <entry>Specialized algorithms</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3.4</entry> |
| <entry>Tuple-like access to <code>pair</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.3.5</entry> |
| <entry>Piecewise construction</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4</entry> |
| <entry>Tuples</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.1</entry> |
| <entry>In general</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2</entry> |
| <entry>Class template <code>tuple</code></entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.1</entry> |
| <entry>Construction</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.2</entry> |
| <entry>Assignment</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.3</entry> |
| <entry>Swap</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.4</entry> |
| <entry>Tuple creation functions</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.5</entry> |
| <entry>Tuple helper classes</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.6</entry> |
| <entry>Element access</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.7</entry> |
| <entry>Relational operators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.8</entry> |
| <entry>Tuple traits</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.4.2.9</entry> |
| <entry>Tuple specialized algorithms</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.5</entry> |
| <entry>Class template <code>bitset</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.5.1</entry> |
| <entry><code>bitset</code> constructors</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.5.2</entry> |
| <entry><code>bitset</code> members</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.5.3</entry> |
| <entry><code>bitset</code> hash support</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.5.4</entry> |
| <entry><code>bitset</code> operators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6</entry> |
| <entry>Memory</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.1</entry> |
| <entry>In general</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.2</entry> |
| <entry>Header <code><memory></code> synopsis</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.3</entry> |
| <entry>Pointer traits</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.4</entry> |
| <entry>Pointer safety</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.5</entry> |
| <entry>Align</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.6</entry> |
| <entry>Allocator argument tag</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.7</entry> |
| <entry><code>uses_allocator</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.8</entry> |
| <entry>Allocator traits</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.9</entry> |
| <entry>The default allocator</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.10</entry> |
| <entry>Raw storage iterator</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.11</entry> |
| <entry>Temporary buffers</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.12</entry> |
| <entry>Specialized algorithms</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.12.1</entry> |
| <entry><code>addressof</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.12.2</entry> |
| <entry><code>uninitialized_copy</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.12.3</entry> |
| <entry><code>uninitialized_fill</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.12.4</entry> |
| <entry><code>uninitialized_fill_n</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.6.13</entry> |
| <entry>C library</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7</entry> |
| <entry>Smart pointers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.1</entry> |
| <entry>Class template <code>unique_ptr</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.2</entry> |
| <entry>Shared-ownership pointers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.2.1</entry> |
| <entry>Class <code>bad_weak_ptr</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.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.7.2.3</entry> |
| <entry>Class template <code>weak_ptr</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.2.4</entry> |
| <entry>Class template <code>enable_shared_from_this</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.2.5</entry> |
| <entry><code>shared_ptr</code> atomic access</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.7.2.6</entry> |
| <entry>Smart pointer hash support</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8</entry> |
| <entry>Function objects</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.1</entry> |
| <entry>Definitions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.2</entry> |
| <entry>Requirements</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.3</entry> |
| <entry>Class template <code>reference_wrapper</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.4</entry> |
| <entry>Arithmetic operation</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.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.8.7</entry> |
| <entry>Bitwise operations</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.8</entry> |
| <entry>Negators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.9</entry> |
| <entry>Function template <code>bind</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.10</entry> |
| <entry>Function template <code>mem_fn</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.11</entry> |
| <entry>Polymorphic function wrappers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.8.11.1</entry> |
| <entry>Class <code>bad_function_call</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <?dbhtml bgcolor="#B0B0B0" ?> |
| <entry>20.8.11.2</entry> |
| <entry>Class template <code>function</code></entry> |
| <entry>Partial</entry> |
| <entry>Missing allocator support</entry> |
| </row> |
| <row> |
| <entry>20.8.12</entry> |
| <entry>Class template <code>hash</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9</entry> |
| <entry>Metaprogramming and type traits</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.1</entry> |
| <entry>Requirements</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.2</entry> |
| <entry>Header <code><type_traits></code> synopsis</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.3</entry> |
| <entry>Helper classes</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.4</entry> |
| <entry>Unary Type Traits</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.4.1</entry> |
| <entry>Primary type categories</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.4.2</entry> |
| <entry>Composite type traits</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.4.3</entry> |
| <entry>Type properties</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.5</entry> |
| <entry>Type property queries</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.6</entry> |
| <entry>Relationships between types</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7</entry> |
| <entry>Transformations between types</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.1</entry> |
| <entry>Const-volatile modifications</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.2</entry> |
| <entry>Reference modifications</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.3</entry> |
| <entry>Sign modifications</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.4</entry> |
| <entry>Array modifications</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.5</entry> |
| <entry>Pointer modifications</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.9.7.6</entry> |
| <entry>Other transformations</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10</entry> |
| <entry>Compile-time rational arithmetic</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.1</entry> |
| <entry>In general</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.2</entry> |
| <entry>Header <code><ratio></code> synopsis</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.3</entry> |
| <entry>Class template <code>ratio</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.4</entry> |
| <entry>Arithmetic on <code>ratio</code>s</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.5</entry> |
| <entry>Comparison of <code>ratio</code>s</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.10.6</entry> |
| <entry>SI types for <code>ratio</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11</entry> |
| <entry>Time utilities</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.3</entry> |
| <entry>Clock requirements</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.4</entry> |
| <entry>Time-related traits</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.4.1</entry> |
| <entry><code>treat_as_floating_point</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.4.2</entry> |
| <entry><code>duration_values</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.4.3</entry> |
| <entry>Specializations of <code>common_type</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.5</entry> |
| <entry>Class template <code>duration</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.6</entry> |
| <entry>Class template <code>time_point</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.7</entry> |
| <entry>Clocks</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.7.1</entry> |
| <entry>Class <code>system_clock</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.7.2</entry> |
| <entry>Class <code>steady_clock</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.7.3</entry> |
| <entry>Class <code>high_resolution_clock</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.11.8</entry> |
| <entry>Date and time functions</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12</entry> |
| <entry>Scoped allocator adaptor</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12.1</entry> |
| <entry>Header <code><scoped_allocator></code> synopsis</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12.2</entry> |
| <entry>Scoped allocator adaptor member types</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12.3</entry> |
| <entry>Scoped allocator adaptor constructors</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12.4</entry> |
| <entry>Scoped allocator adaptor members</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.12.5</entry> |
| <entry>Scoped allocator operators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>20.13</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/> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.1</entry> |
| <entry>Character traits requirements</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.2</entry> |
| <entry>traits typedefs</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.3</entry> |
| <entry><code>char_traits</code> specializations</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.3.1</entry> |
| <entry>struct <code>char_traits<char></code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.3.2</entry> |
| <entry>struct <code>char_traits<char16_t></code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.3.3</entry> |
| <entry>struct <code>char_traits<char32_t></code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>21.2.3.4</entry> |
| <entry>struct <code>char_traits<wchar_t></code></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> |
| <?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/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.1</entry> |
| <entry>Class <code>locale</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.2</entry> |
| <entry><code>locale</code> globals</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3</entry> |
| <entry>Convenience interfaces</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3.1</entry> |
| <entry>Character classification</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3.2</entry> |
| <entry>Conversions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3.2.1</entry> |
| <entry>Character conversions</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3.2.2</entry> |
| <entry><code>string</code> conversions</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.3.3.2.3</entry> |
| <entry>Buffer conversions</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4</entry> |
| <entry>Standard <code>locale</code> categories</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.1</entry> |
| <entry>The <code>ctype</code> category</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.2</entry> |
| <entry>The numeric category</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.2.1</entry> |
| <entry><code>num_get</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.2.2</entry> |
| <entry><code>num_put</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.3</entry> |
| <entry>The numeric punctuation facet</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.4</entry> |
| <entry>The collate category</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.5</entry> |
| <entry>The time category</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.5.1</entry> |
| <entry>Class template <code>time_get</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.5.2</entry> |
| <entry>Class template <code>time_get_byname</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.5.3</entry> |
| <entry>Class template <code>time_put</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.5.3</entry> |
| <entry>Class template <code>time_put_byname</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.6</entry> |
| <entry>The monetary category</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.6.1</entry> |
| <entry>Class template <code>money_get</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.6.2</entry> |
| <entry>Class template <code>money_put</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.6.3</entry> |
| <entry>Class template <code>money_punct</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.6.4</entry> |
| <entry>Class template <code>money_punct_byname</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.7</entry> |
| <entry>The message retrieval category</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>22.4.8</entry> |
| <entry>Program-defined facets</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/> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.2.1</entry> |
| <entry>General container requirements</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.2.2</entry> |
| <entry>Container data races</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.2.3</entry> |
| <entry>Sequence containers</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.2.4</entry> |
| <entry>Associative containers</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.2.5</entry> |
| <entry>Unordered associative containers</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3</entry> |
| <entry>Sequence containers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.2</entry> |
| <entry>Class template <code>array</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.3</entry> |
| <entry>Class template <code>deque</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.4</entry> |
| <entry>Class template <code>forward_list</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.5</entry> |
| <entry>Class template <code>list</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.6</entry> |
| <entry>Class template <code>vector</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.3.7</entry> |
| <entry>Class <code>vector<bool></code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.4</entry> |
| <entry>Associative containers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.4.4</entry> |
| <entry>Class template <code>map</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.4.5</entry> |
| <entry>Class template <code>multimap</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.4.6</entry> |
| <entry>Class template <code>set</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.4.7</entry> |
| <entry>Class template <code>multiset</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.5</entry> |
| <entry>Unordered associative containers</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.5.4</entry> |
| <entry>Class template <code>unordered_map</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.5.5</entry> |
| <entry>Class template <code>unordered_multimap</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.5.6</entry> |
| <entry>Class template <code>unordered_set</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.5.7</entry> |
| <entry>Class template <code>unordered_multiset</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.6</entry> |
| <entry>Container adaptors</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.6.1</entry> |
| <entry>Class template <code>queue</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.6.2</entry> |
| <entry>Class template <code>priority_queue</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>23.6.3</entry> |
| <entry>Class template <code>stack</code></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/> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.5.1</entry> |
| <entry>Reverse iterators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.5.2</entry> |
| <entry>Insert iterators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.5.3</entry> |
| <entry>Move iterators</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6</entry> |
| <entry>Stream iterators</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6.1</entry> |
| <entry>Class template <code>istream_iterator</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6.2</entry> |
| <entry>Class template <code>ostream_iterator</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6.3</entry> |
| <entry>Class template <code>istreambuf_iterator</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6.4</entry> |
| <entry>Class template <code>ostreambuf_iterator</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>24.6.5</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.5</entry> |
| <entry>Random number generation</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.1</entry> |
| <entry>Requirements</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.2</entry> |
| <entry>Header <code><random></code> synopsis</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.3</entry> |
| <entry>Random number engine class templates</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.3.1</entry> |
| <entry>Class template <code>linear_congruential_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.3.2</entry> |
| <entry>Class template <code>mersenne_twister_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.3.3</entry> |
| <entry>Class template <code>subtract_with_carry_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.4</entry> |
| <entry>Random number engine adaptor class templates</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.4.2</entry> |
| <entry>Class template <code>discard_block_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.4.3</entry> |
| <entry>Class template <code>independent_bits_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.4.4</entry> |
| <entry>Class template <code>shuffle_order_engine</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.5</entry> |
| <entry>Engines and engine adaptors with predefined parameters</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.6</entry> |
| <entry>Class <code>random_device</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.7</entry> |
| <entry>Utilities</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.7.1</entry> |
| <entry>Class <code>seed_seq</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.7.2</entry> |
| <entry>Function template <code>generate_canonical</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8</entry> |
| <entry>Random number distribution class templates</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.2</entry> |
| <entry>Uniform distributions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.2.1</entry> |
| <entry>Class template <code>uniform_int_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.2.2</entry> |
| <entry>Class template <code>uniform_real_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.3</entry> |
| <entry>Bernoulli distributions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.3.1</entry> |
| <entry>Class <code>bernoulli_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.3.2</entry> |
| <entry>Class template <code>binomial_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.3.3</entry> |
| <entry>Class template <code>geometric_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.3.4</entry> |
| <entry>Class template <code>negative_binomial_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4</entry> |
| <entry>Poisson distributions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4.1</entry> |
| <entry>Class template <code>poisson_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4.2</entry> |
| <entry>Class template <code>exponential_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4.3</entry> |
| <entry>Class template <code>gamma_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4.4</entry> |
| <entry>Class template <code>weibull_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.4.5</entry> |
| <entry>Class template <code>extreme_value_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5</entry> |
| <entry>Normal distributions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.1</entry> |
| <entry>Class template <code>normal_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.2</entry> |
| <entry>Class template <code>lognormal_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.3</entry> |
| <entry>Class template <code>chi_squared_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.4</entry> |
| <entry>Class template <code>cauchy_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.5</entry> |
| <entry>Class template <code>fisher_f_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.5.6</entry> |
| <entry>Class template <code>student_t_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.6</entry> |
| <entry>Sampling distributions</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.6.1</entry> |
| <entry>Class template <code>discrete_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.6.2</entry> |
| <entry>Class template <code>piecewise_constant_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.5.8.6.3</entry> |
| <entry>Class template <code>piecewise_linear_distribution</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6</entry> |
| <entry>Numeric arrays</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.1</entry> |
| <entry>Header <code><valarray></code> synopsis</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.2</entry> |
| <entry>Class template <code>valarray</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.3</entry> |
| <entry><code>valarray</code> non-member operations</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.4</entry> |
| <entry>Class <code>slice</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.5</entry> |
| <entry>Class template <code>slice_array</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.6</entry> |
| <entry>The <code>gslice</code> class</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.7</entry> |
| <entry>Class template <code>gslice_array</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.8</entry> |
| <entry>Class template <code>mask_array</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.9</entry> |
| <entry>Class template <code>indirect_array</code></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.6.10</entry> |
| <entry><code>valarray</code> range access</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7</entry> |
| <entry>Generalized numeric operations</entry> |
| <entry/> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.1</entry> |
| <entry>Header <code><numeric></code> synopsis</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.2</entry> |
| <entry>Accumulate></entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.3</entry> |
| <entry>Inner product</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.4</entry> |
| <entry>Partial sum</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.5</entry> |
| <entry>Adjacent difference</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>26.7.6</entry> |
| <entry>Iota</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.4.1</entry> |
| <entry>Overview</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>27.4.2</entry> |
| <entry>Narrow stream objects</entry> |
| <entry>Y</entry> |
| <entry/> |
| </row> |
| <row> |
| <entry>27.4.3</entry> |
| <entry>Wide stream 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.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.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.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>Y</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> |
| |
| </tbody> |
| </tgroup> |
| </table> |
| |
| <section xml:id="iso.2011.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info> |
| |
| <para>For behaviour which is also specified by the 1998 and 2003 standards, |
| see <link linkend="iso.1998.specific">C++ 1998/2003 Implementation |
| Specific Behavior</link>. This section only documents behaviour which |
| is new in the 2011 standard. |
| </para> |
| |
| <para> |
| <emphasis>17.6.5.12 [res.on.exception.handling]</emphasis> |
| There are no implementation-defined exception classes, only standard |
| exception classes (or classes derived from them) will be thrown. |
| </para> |
| |
| <para> |
| <emphasis>17.6.5.14 [value.error.codes]</emphasis> |
| The <classname>error_category</classname> for errors originating outside |
| the OS, and the possible error code values for each error category, |
| should be documented here. |
| </para> |
| |
| <para> |
| <emphasis>18.6.2.2 [new.badlength]</emphasis> |
| <function>what()</function> returns |
| <literal>"std::bad_array_new_length"</literal>. |
| </para> |
| |
| <para> |
| <emphasis>20.6.9.1 [allocator.member]/5</emphasis> |
| Over-aligned types are not supported by |
| <classname>std::allocator</classname>. |
| </para> |
| |
| <para> |
| <emphasis>20.7.2.2.1 [util.smartptr.shared.const]</emphasis> |
| When a <classname>shared_ptr</classname> constructor fails |
| <classname>bad_alloc</classname> (or types derived from it) will |
| be thrown, or when an allocator is passed to the constructor then any |
| exceptions thrown by the allocator. |
| </para> |
| |
| <para> |
| <emphasis>20.7.2.0 [util.smartptr.weakptr]</emphasis> |
| <code>what()</code> returns <literal>"bad_weak_ptr"</literal>. |
| </para> |
| |
| <para> |
| <emphasis>20.8.9.1.3 [func.bind.place]/1</emphasis> There are 29 |
| placeholders defined and the placeholder types are |
| <literal>CopyAssignable</literal>. |
| </para> |
| |
| <para> |
| <emphasis>20.11.7.1 [time.clock.system]/3, /4</emphasis> |
| Time point values are truncated to <code>time_t</code> values. |
| There is no loss of precision for conversions in the other direction. |
| </para> |
| |
| <para> |
| <emphasis>20.15.7 [meta.trans]/2</emphasis> |
| <classname>aligned_storage</classname> does not support extended |
| alignment. |
| </para> |
| |
| <para> |
| <emphasis>21.2.3.2 [char.traits.specializations.char16_t]</emphasis>, |
| <emphasis>21.2.3.3 [char.traits.specializations.char32_t]</emphasis> |
| The types <classname>u16streampos</classname> and |
| <classname>u32streampos</classname> are both synonyms for |
| <classname>fpos<mbstate_t></classname>. |
| The function <function>eof</function> returns <code>int_type(-1)</code>. |
| <function>char_traits<char16_t>::to_int_type</function> will |
| transform the "noncharacter" U+FFFF to U+FFFD (REPLACEMENT CHARACTER). |
| This is done to ensure that <function>to_int_type</function> never |
| returns the same value as <function>eof</function>, which is U+FFFF. |
| </para> |
| |
| <para> |
| <emphasis>22.3.1 [locale]</emphasis> |
| There is one global locale for the whole program, not per-thread. |
| </para> |
| |
| <para> |
| <emphasis>22.4.5.1.2 [locale.time.get.virtuals]</emphasis>, |
| <emphasis>22.4.5.3.2 [locale.time.put.virtuals]</emphasis> |
| Additional supported formats should be documented here. |
| </para> |
| |
| <para> |
| <emphasis> 22.4.7.1.2 [locale.messages.virtuals]</emphasis> |
| The mapping should be documented here. |
| </para> |
| |
| <para> |
| <emphasis>23.3.2.1 [array.overview]</emphasis> |
| <classname>array<T, N>::iterator</classname> is <code>T*</code> and |
| <classname>array<T, N>::const_iterator</classname> is |
| <code>const T*</code>. |
| </para> |
| |
| <para> |
| <emphasis>23.5.4.2 [unord.map.cnstr]</emphasis>, |
| <emphasis>23.5.5.2 [unord.multimap.cnstr]</emphasis>, |
| <emphasis>23.5.6.2 [unord.set.cnstr]</emphasis>, |
| <emphasis>23.5.7.2 [unord.multiset.cnstr]</emphasis> |
| The default minimal bucket count is 0 for the default constructors, range |
| constructors and initializer-list constructors. |
| </para> |
| |
| <para> |
| <emphasis>25.3.12 [alg.random.shuffle]</emphasis> |
| The two-argument overload of <function>random_shuffle</function> |
| uses <function>rand</function> as the source of randomness. |
| </para> |
| |
| <para> |
| <emphasis>26.5.5 [rand.predef]</emphasis> |
| The type <classname>default_random_engine</classname> is a synonym for |
| <classname>minstd_rand0</classname>. |
| </para> |
| |
| <para> |
| <emphasis> 26.5.6 [rand.device] </emphasis> |
| The <code>token</code> parameter of the |
| <classname>random_device</classname> constructor can be used to select |
| a specific source of random bytes. The valid token values are shown |
| in the list below. |
| The default constructor uses the token <literal>"default"</literal>. |
| <variablelist> |
| <varlistentry> |
| <term><literal>"default"</literal></term> |
| <listitem> |
| Select the first available source from the other entries below. |
| This is the only token that is always valid. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><literal>"rand_s"</literal></term> |
| <listitem> |
| Use the MSVCRT <function>rand_s</function> function. |
| This token is only valid for mingw-w64 targets. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><literal>"rdseed"</literal></term> |
| <term><literal>"rdrand"</literal> or <literal>"rdrnd"</literal></term> |
| <listitem> |
| Use the IA-32 <literal>RDSEED</literal> or <literal>RDRAND</literal> |
| instruction to read from an on-chip hardware random number generator. |
| These tokens are only valid for x86 and x86_64 targets when both |
| the assembler and CPU support the corresponding instruction. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><literal>"/dev/urandom"</literal></term> |
| <term><literal>"/dev/random"</literal></term> |
| <listitem> |
| Use the named character special file to read random bytes from. |
| These tokens are only valid when the device files are present |
| and readable by the current user. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><literal>"mt19937"</literal></term> |
| <term>seed value</term> |
| <listitem> |
| When no source of nondeterministic random numbers is available a |
| <classname>mersenne_twister_engine</classname> will be used. |
| An integer seed value can be used as the token and will be converted |
| to an <code>unsigned long</code> using <function>strtoul</function>. |
| These tokens are only valid when no other source of random bytes |
| is available. |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| An exception of type <classname>runtime_error</classname> will be |
| thrown if a <classname>random_device</classname> object is constructed |
| with an invalid token, or if it cannot open or read from the source |
| of random bytes. |
| </para> |
| |
| <para> |
| <emphasis>26.5.8.1 [rand.dist.general]</emphasis> |
| The algorithms used by the distributions should be documented here. |
| </para> |
| |
| <para> |
| <emphasis>26.8 [c.math]</emphasis> Whether the |
| <function>rand</function> function introduces data races depends on |
| the C library as the function is not provided by libstdc++. |
| </para> |
| |
| <para> |
| <emphasis>27.8.2.1 [stringbuf.cons]</emphasis> |
| Whether the sequence pointers are copied by the |
| <classname>basic_stringbuf</classname> move constructor should be |
| documented here. |
| </para> |
| |
| <para> |
| <emphasis>27.9.1.2 [filebuf.cons]</emphasis> |
| Whether the sequence pointers are copied by the |
| <classname>basic_filebuf</classname> move constructor should be |
| documented here. |
| </para> |
| |
| <para> |
| <emphasis>28.5.1 [re.synopt]</emphasis>, |
| <emphasis> 28.5.2 [re.matchflag] </emphasis>, |
| <emphasis> 28.5.3 [re.err] </emphasis> |
| <code>syntax_option_type</code>, <code>match_flag_type</code> |
| and <code>error_type</code> are unscoped enumeration types. |
| </para> |
| |
| <para> |
| <emphasis>28.7 [re.traits]</emphasis> |
| The <literal>blank</literal> character class corresponds to the |
| <code>ctype_base::blank</code> mask. |
| </para> |
| |
| <para> |
| <emphasis>29.4 [atomics.lockfree]</emphasis> |
| The values of the <code>ATOMIC_xxx_LOCK_FREE</code> macros depend on |
| the target and cannot be listed here. |
| </para> |
| |
| <para> |
| <emphasis>30.2.3 [thread.req.native]/1</emphasis> |
| <classname>native_handle_type</classname> and |
| <methodname>native_handle</methodname> are provided. The handle types |
| are defined in terms of the Gthreads abstraction layer, although this |
| is subject to change at any time. Any use of |
| <classname>native_handle</classname> is inherently non-portable and |
| not guaranteed to work between major releases of GCC. |
| <variablelist> |
| <varlistentry> |
| <term><classname>thread</classname></term> |
| <listitem> |
| The native handle type is a typedef for <code>__gthread_t</code> |
| i.e. <code>pthread_t</code> when GCC is configured with the |
| <literal>posix</literal> thread model. |
| The value of the native handle is undefined for a thread |
| which is not joinable. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><classname>mutex</classname></term> |
| <term><classname>timed_mutex</classname></term> |
| <listitem> |
| The native handle type is <code>__gthread_mutex_t*</code> i.e. |
| <code>pthread_mutex_t*</code> for the <literal>posix</literal> |
| thread model. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><classname>recursive_mutex</classname></term> |
| <term><classname>recursive_timed_mutex</classname></term> |
| <listitem> |
| The native handle type is <code>__gthread_recursive_mutex_t*</code> |
| i.e. <code>pthread_mutex_t*</code> for the <literal>posix</literal> |
| thread model. |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><classname>condition_variable</classname></term> |
| <listitem> |
| The native handle type is <code>__gthread_cond_t*</code> i.e. |
| <code>pthread_cond_t*</code> for the <literal>posix</literal> |
| thread model. |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </para> |
| |
| <para> |
| <emphasis>30.6.1 [futures.overview]/2</emphasis> |
| <code>launch</code> is a scoped enumeration type with |
| overloaded operators to support bitmask operations. There are no |
| additional bitmask elements defined. |
| </para> |
| |
| </section> |
| |
| </section> |