<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 <literal>-std=gnu++11</literal> or
<literal>-std=c++11</literal> flags 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.
</para>

<para>
This page describes the C++11 support in mainline GCC SVN, 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">
<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>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>18.2</entry>
      <entry>Types</entry>
      <entry>Partial</entry>
      <entry>Missing offsetof, max_align_t</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>&lt;cstdint&gt;</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>18.6</entry>
      <entry>Dynamic memory management</entry>
      <entry>Partial</entry>
      <entry>Missing <code>get_new_handler</code>.
             <code>set_new_handler</code> is not thread-safe.
      </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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>18.8.3</entry>
      <entry>Abnormal termination</entry>
      <entry>Partial</entry>
      <entry>Missing <code>get_terminate</code>.
             <code>set_terminate</code> is not thread-safe.
      </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>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>19.2</entry>
      <entry>Exception classes</entry>
      <entry>Partial</entry>
      <entry>Missing <code>const char*</code> constructors.</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>19.5.5</entry>
      <entry>Class <code>system_error</code></entry>
      <entry>Partial</entry>
      <entry>Missing <code>const char*</code> constructors.</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><code>forward</code> and <code>move</code> 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>&lt;memory&gt;</code> synopsis</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <entry>20.6.3</entry>
      <entry>Pointer traits</entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.6.4</entry>
      <entry>Pointer safety</entry>
      <entry>Partial</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>20.6.5</entry>
      <entry>Align</entry>
      <entry>N</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>Y</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>
	<para>
	  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>.
	</para>
      </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>emable_shared_from_this</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.7.2.5</entry>
      <entry><code>shared_ptr</code> atomic access</entry>
      <entry>Partial</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>&lt;type_traits&gt;</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.9.4.3</entry>
      <entry>Type properties</entry>
      <entry>Partial</entry>
      <entry>Missing is_trivially_copyable,
      is_trivially_constructible, is_trivially_default_constructible,
      is_trivially_copy_constructible, is_trivially_move_constructible,
      is_trivially_assignable, is_trivially_default_assignable,
      is_trivially_copy_assignable, is_trivially_move_assignable
      </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>&lt;ratio&gt;</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.11.5</entry>
      <entry>Class template <code>duration</code></entry>
      <entry>Partial</entry>
      <entry>Missing constexpr for non-member arithmetic operations</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.12</entry>
      <entry>Scoped allocator adaptor</entry>
      <entry>Partial</entry>
      <entry/>
    </row>
    <row>
      <entry>20.12.1</entry>
      <entry>Header <code>&lt;scoped_allocator&gt;</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>20.12.4</entry>
      <entry>Scoped allocator adaptor members</entry>
      <entry>Partial</entry>
      <entry>OUTERMOST is not recursive.</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>21.2.3.1</entry>
      <entry>struct <code>char_traits&lt;char&gt;</code></entry>
      <entry>Partial</entry>
      <entry>Missing constexpr</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>21.2.3.2</entry>
      <entry>struct <code>char_traits&lt;char16_t&gt;</code></entry>
      <entry>Partial</entry>
      <entry>Missing constexpr</entry>
    </row>
    <row>
      <entry>21.2.3.3</entry>
      <entry>struct <code>char_traits&lt;char32_t&gt;</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <entry>21.2.3.4</entry>
      <entry>struct <code>char_traits&lt;wchar_t&gt;</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.
      Missing <filename class="headerfile">&lt;cuchar&gt;</filename>
      </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>&lt;locale&gt;</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>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>22.3.3.2.2</entry>
      <entry><code>string</code> conversions</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>22.3.3.2.3</entry>
      <entry>Buffer conversions</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <entry>22.4</entry>
      <entry>Standard <code>locale</code> categories</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>22.4.1</entry>
      <entry>The <code>ctype</code> category</entry>
      <entry>Partial</entry>
      <entry>Missing <code>codecvt&lt;char16_t></code> and
             <code>codecvt&lt;char32_t></code></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>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>22.5</entry>
      <entry>Standard code conversion facets</entry>
      <entry>N</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>23.2.1</entry>
      <entry>General container requirements</entry>
      <entry>Partial</entry>
      <entry>Only <code>vector</code> and <code>forward_list</code>
             meet the requirements
             relating to allocator use and propagation.</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>23.3.3</entry>
      <entry>Class template <code>deque</code></entry>
      <entry>Partial</entry>
      <entry><code>insert</code> and <code>erase</code> members do not
             take <code>const_iterator</code> arguments (N2350).</entry>
    </row>
    <row>
      <entry>23.3.4</entry>
      <entry>Class template <code>forward_list</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>23.3.5</entry>
      <entry>Class template <code>list</code></entry>
      <entry>Partial</entry>
      <entry><code>insert</code> and <code>erase</code> members do not
             take <code>const_iterator</code> arguments (N2350).</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>23.3.6</entry>
      <entry>Class template <code>vector</code></entry>
      <entry>Partial</entry>
      <entry><code>insert</code> and <code>erase</code> members do not
             take <code>const_iterator</code> arguments (N2350).</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>23.3.7</entry>
      <entry>Class <code>vector&lt;bool&gt;</code></entry>
      <entry>Partial</entry>
      <entry><code>insert</code> and <code>erase</code> members do not
             take <code>const_iterator</code> arguments (N2350).</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>&lt;iterator&gt;</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>Y</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>Partial</entry>
      <entry>Missing constexpr</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>&lt;random&gt;</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>Missing constexpr</entry>
    </row>
    <row>
      <entry>26.5.3.2</entry>
      <entry>Class template <code>mersenne_twister_engine</code></entry>
      <entry>Y</entry>
      <entry>Missing constexpr</entry>
    </row>
    <row>
      <entry>26.5.3.3</entry>
      <entry>Class template <code>subtract_with_carry_engine</code></entry>
      <entry>Y</entry>
      <entry>Missing constexpr</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>Missing constexpr</entry>
    </row>
    <row>
      <entry>26.5.4.3</entry>
      <entry>Class template <code>independent_bits_engine</code></entry>
      <entry>Y</entry>
      <entry>Missing constexpr</entry>
    </row>
    <row>
      <entry>26.5.4.4</entry>
      <entry>Class template <code>shuffle_order_engine</code></entry>
      <entry>Y</entry>
      <entry>Missing constexpr</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>Missing constexpr</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>&lt;valarray&gt;</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>&lt;numeric&gt;</code> synopsis</entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <entry>26.7.2</entry>
      <entry><code>accumulate</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <entry>26.7.3</entry>
      <entry><code>inner_product</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <entry>26.7.4</entry>
      <entry><code>partial_sum</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <entry>26.7.5</entry>
      <entry><code>adjacent_difference</code></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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>27.5</entry>
      <entry>Iostreams base classes</entry>
      <entry>Partial</entry>
      <entry>
        Missing move and swap operations on <code>basic_ios</code>.
        Missing <code>io_errc</code> and <code>iostream_category</code>.
        <code>ios_base::failure</code> is not derived from <code>system_error</code>.
      </entry>
    </row>
    <row>
      <entry>27.6</entry>
      <entry>Stream buffers</entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>27.7</entry>
      <entry>Formatting and manipulators</entry>
      <entry>Partial</entry>
      <entry>
        Missing move and swap operations
        Missing <code>get_time</code> and <code>put_time</code> manipulators.
      </entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>27.8</entry>
      <entry>String-based streams</entry>
      <entry>Partial</entry>
      <entry>Missing move and swap operations</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>27.9</entry>
      <entry>File-based streams</entry>
      <entry>Partial</entry>
      <entry>Missing move and swap operations</entry>
    </row>
    <row>
      <entry>
	<emphasis>28</emphasis>
      </entry>
      <entry namest="c2" nameend="c4" align="left">
	<emphasis>Regular expressions</emphasis>
      </entry>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.1</entry>
      <entry>General</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.2</entry>
      <entry>Definitions</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.3</entry>
      <entry>Requirements</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.4</entry>
      <entry>Header <code>&lt;regex&gt;</code> synopsis</entry>
      <entry>N</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/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>28.8</entry>
      <entry>Class template <code>basic_regex</code></entry>
      <entry>Partial</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>28.9</entry>
      <entry>Class template <code>sub_match</code></entry>
      <entry>Partial</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>28.10</entry>
      <entry>Class template <code>match_results</code></entry>
      <entry>Partial</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.11</entry>
      <entry>Regular expression algorithms</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.12</entry>
      <entry>Regular expression Iterators</entry>
      <entry>N</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#C8B0B0" ?>
      <entry>28.13</entry>
      <entry>Modified ECMAScript regular expression grammar</entry>
      <entry>N</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>&lt;atomic&gt;</code> synopsis</entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>29.3</entry>
      <entry>Order and consistency</entry>
      <entry>Partial</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>On POSIX sytems these types are only defined if the OS
         supports the POSIX Timeouts option. </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>
      <entry>30.4.4.2</entry>
      <entry>Function <code>call_once</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>30.5</entry>
      <entry>Condition variables</entry>
      <entry>Partial</entry>
      <entry>Missing notify_all_at_thread_exit</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>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>30.6.5</entry>
      <entry>Class template <code>promise</code></entry>
      <entry>Partial</entry>
      <entry>Missing set_*_at_thread_exit</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>30.6.6</entry>
      <entry>Class template <code>future</code></entry>
      <entry>Partial</entry>
      <entry>Timed waiting functions do not return future_status::deferred</entry>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>30.6.7</entry>
      <entry>Class template <code>shared_future</code></entry>
      <entry>Partial</entry>
      <entry>Timed waiting functions do not return future_status::deferred</entry>
    </row>
    <row>
      <entry>30.6.8</entry>
      <entry>Function template <code>async</code></entry>
      <entry>Y</entry>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>30.6.9</entry>
      <entry>Class template <code>packaged_task</code></entry>
      <entry>Partial</entry>
      <entry>Missing make_ready_at_thread_exit</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/>
      <entry/>
    </row>
    <row>
      <entry>D.6</entry>
      <entry>Old iostreams members</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <entry>D.7</entry>
      <entry><code>char*</code> streams</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <entry>D.8</entry>
      <entry>Function objects</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <entry>D.9</entry>
      <entry>Binders</entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <entry>D.10</entry>
      <entry><code>auto_ptr</code></entry>
      <entry/>
      <entry/>
    </row>
    <row>
      <?dbhtml bgcolor="#B0B0B0" ?>
      <entry>D.11</entry>
      <entry>Violating exception-specifications</entry>
      <entry>Partial</entry>
      <entry>Missing <code>get_unexpected</code>.
             <code>set_unexpected</code> is not thread-safe.
      </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>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>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 bucket count is 10 for the default constructors
      and 0 for the range constructors and initializer-list constructors.
   </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.
      <itemizedlist>
         <listitem><para><classname>thread</classname>: 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.
         </para></listitem>
         <listitem><para><classname>mutex</classname> and
            <classname>timed_mutex</classname>:
            The native handle type is <code>__gthread_mutex_t*</code> i.e.
            <code>pthread_mutex_t*</code> for the <literal>posix</literal>
            thread model.
         </para></listitem>
         <listitem><para><classname>recursive_mutex</classname> and
         <classname>recursive_timed_mutex</classname>:
            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.
         </para></listitem>
         <listitem><para><classname>condition_variable</classname>: The native
            handle type is <code>__gthread_cond_t*</code> i.e.
            <code>pthread_cond_t*</code> for the <literal>posix</literal>
            thread model.
         </para></listitem>
      </itemizedlist>
   </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>
