1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=
"http://www.w3.org/1999/xhtml"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><title>Chapter
1. Status
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.78.1" /><meta name=
"keywords" content=
"ISO C++, library" /><meta name=
"keywords" content=
"ISO C++, runtime, library" /><link rel=
"home" href=
"../index.html" title=
"The GNU C++ Library" /><link rel=
"up" href=
"intro.html" title=
"Part I. Introduction" /><link rel=
"prev" href=
"intro.html" title=
"Part I. Introduction" /><link rel=
"next" href=
"license.html" title=
"License" /></head><body><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Chapter
1. Status
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"intro.html">Prev
</a> </td><th width=
"60%" align=
"center">Part I.
5 </th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"license.html">Next
</a></td></tr></table><hr /></div><div class=
"chapter"><div class=
"titlepage"><div><div><h2 class=
"title"><a id=
"manual.intro.status"></a>Chapter
1. Status
</h2></div></div></div><div class=
"toc"><p><strong>Table of Contents
</strong></p><dl class=
"toc"><dt><span class=
"section"><a href=
"status.html#manual.intro.status.iso">Implementation Status
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#status.iso.1998">C++
1998/
2003</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.1998.status">Implementation Status
</a></span></dt><dt><span class=
"section"><a href=
"status.html#iso.1998.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.2011">C++
2011</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.2011.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.2014">C++
2014</a></span></dt><dt><span class=
"section"><a href=
"status.html#status.iso.201z">C++
201z
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.2017.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.tr1">C++ TR1
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.tr1.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.tr24733">C++ TR
24733</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"license.html">License
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"license.html#manual.intro.status.license.gpl">The Code: GPL
</a></span></dt><dt><span class=
"section"><a href=
"license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"bugs.html">Bugs
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bugs.html#manual.intro.status.bugs.impl">Implementation Bugs
</a></span></dt><dt><span class=
"section"><a href=
"bugs.html#manual.intro.status.bugs.iso">Standard Bugs
</a></span></dt></dl></dd></dl></div><div class=
"section"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a id=
"manual.intro.status.iso"></a>Implementation Status
</h2></div></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.1998"></a>C++
1998/
2003</h3></div></div></div><div class=
"section"><div class=
"titlepage"><div><div><h4 class=
"title"><a id=
"iso.1998.status"></a>Implementation Status
</h4></div></div></div><p>
6 This status table is based on the table of contents of ISO/IEC
14882:
2003.
8 This page describes the C++ support in mainline GCC SVN, not in any
10 </p><div class=
"table"><a id=
"table.cxx98_status"></a><p class=
"title"><strong>Table
1.1. C++
1998/
2003 Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ 1998/2003 Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Section
</th><th align=
"left">Description
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left">
11 <span class=
"emphasis"><em>18</em></span>
12 </td><td colspan=
"3" align=
"left">
13 <span class=
"emphasis"><em>Language support
</em></span>
14 </td></tr><tr><td align=
"left">18.1</td><td align=
"left">Types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.2</td><td align=
"left">Implementation properties
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.2.1</td><td align=
"left">Numeric Limits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.2.1.1</td><td align=
"left">Class template
<code class=
"code">numeric_limits
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.2.1.2</td><td align=
"left"><code class=
"code">numeric_limits
</code> members
</td><td align=
"left">Y
</td><td class=
"auto-generated"> </td></tr><tr><td align=
"left">18.2.1.3</td><td align=
"left"><code class=
"code">float_round_style
</code></td><td align=
"left">Y
</td><td class=
"auto-generated"> </td></tr><tr><td align=
"left">18.2.1.4</td><td align=
"left"><code class=
"code">float_denorm_style
</code></td><td align=
"left">Y
</td><td class=
"auto-generated"> </td></tr><tr><td align=
"left">18.2.1.5</td><td align=
"left"><code class=
"code">numeric_limits
</code> specializations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.2.2</td><td align=
"left">C Library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.3</td><td align=
"left">Start and termination
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.4</td><td align=
"left">Dynamic memory management
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.5</td><td align=
"left">Type identification
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.5.1</td><td align=
"left">Class type_info
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.5.2</td><td align=
"left">Class bad_cast
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.5.3</td><td align=
"left">Class bad_typeid
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.6</td><td align=
"left">Exception handling
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.6.1</td><td align=
"left">Class exception
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.6.2</td><td align=
"left">Violation exception-specifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.6.3</td><td align=
"left">Abnormal termination
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.6.4</td><td align=
"left"><code class=
"code">uncaught_exception
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.7</td><td align=
"left">Other runtime support
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
15 <span class=
"emphasis"><em>19</em></span>
16 </td><td colspan=
"3" align=
"left">
17 <span class=
"emphasis"><em>Diagnostics
</em></span>
18 </td></tr><tr><td align=
"left">19.1</td><td align=
"left">Exception classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.2</td><td align=
"left">Assertions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.3</td><td align=
"left">Error numbers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
19 <span class=
"emphasis"><em>20</em></span>
20 </td><td colspan=
"3" align=
"left">
21 <span class=
"emphasis"><em>General utilities
</em></span>
22 </td></tr><tr><td align=
"left">20.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.2</td><td align=
"left">Utility components
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.1</td><td align=
"left">Operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.2</td><td align=
"left"><code class=
"code">pair
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3</td><td align=
"left">Function objects
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.1</td><td align=
"left">Base
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.2</td><td align=
"left">Arithmetic operation
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.3</td><td align=
"left">Comparisons
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.4</td><td align=
"left">Logical operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.5</td><td align=
"left">Negators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.6</td><td align=
"left">Binders
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.7</td><td align=
"left">Adaptors for pointers to functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.8</td><td align=
"left">Adaptors for pointers to members
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4</td><td align=
"left">Memory
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.1</td><td align=
"left">The default allocator
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2</td><td align=
"left">Raw storage iterator
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.3</td><td align=
"left">Temporary buffers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.4</td><td align=
"left">Specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.4.1</td><td align=
"left"><code class=
"code">uninitialized_copy
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.4.2</td><td align=
"left"><code class=
"code">uninitialized_fill
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.4.3</td><td align=
"left"><code class=
"code">uninitialized_fill_n
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.5</td><td align=
"left">Class template
<code class=
"code">auto_ptr
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.6</td><td align=
"left">C library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
23 <span class=
"emphasis"><em>21</em></span>
24 </td><td colspan=
"3" align=
"left">
25 <span class=
"emphasis"><em>Strings
</em></span>
26 </td></tr><tr><td align=
"left">21.1</td><td align=
"left">Character traits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">21.1.1</td><td align=
"left">Character traits requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.1.2</td><td align=
"left">traits typedef
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.1.3</td><td align=
"left"><code class=
"code">char_traits
</code> specializations
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">21.1.3.1</td><td align=
"left">struct
<code class=
"code">char_traits
<char
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.1.3.2</td><td align=
"left">struct
<code class=
"code">char_traits
<wchar_t
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2</td><td align=
"left">String classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.3</td><td align=
"left">Class template
<code class=
"code">basic_string
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.4</td><td align=
"left">Null-terminated sequence utilities
</td><td align=
"left">Y
</td><td align=
"left">C library dependency
</td></tr><tr><td align=
"left">
27 <span class=
"emphasis"><em>22</em></span>
28 </td><td colspan=
"3" align=
"left">
29 <span class=
"emphasis"><em>Localization
</em></span>
30 </td></tr><tr><td align=
"left">22.1</td><td align=
"left">Locales
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.1.1</td><td align=
"left">Class
<code class=
"code">locale
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.1.2</td><td align=
"left"><code class=
"code">locale
</code> globals
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.1.3</td><td align=
"left">Convenience interfaces
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.1.3.1</td><td align=
"left">Character classification
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.1.3.2</td><td align=
"left">Character conversions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2</td><td align=
"left">Standard locale categories
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.1</td><td align=
"left"><code class=
"code">ctype
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.2</td><td align=
"left">Numeric
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.2.1</td><td align=
"left"><code class=
"code">num_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.2.2</td><td align=
"left"><code class=
"code">num_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.3</td><td align=
"left"><code class=
"code">num_punct
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.4</td><td align=
"left"><code class=
"code">collate
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.5</td><td align=
"left">Time
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.5.1</td><td align=
"left"><code class=
"code">time_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.5.2</td><td align=
"left"><code class=
"code">time_get_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.5.3</td><td align=
"left"><code class=
"code">time_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.5.3</td><td align=
"left"><code class=
"code">time_put_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.6</td><td align=
"left">Monetary
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.6.1</td><td align=
"left"><code class=
"code">money_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.6.2</td><td align=
"left"><code class=
"code">money_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.6.3</td><td align=
"left"><code class=
"code">money_punct
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.6.4</td><td align=
"left"><code class=
"code">money_punct_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.7</td><td align=
"left"><code class=
"code">messages
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2.8</td><td align=
"left">Program-defined facets
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3</td><td align=
"left">C Library Locales
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
31 <span class=
"emphasis"><em>23</em></span>
32 </td><td colspan=
"3" align=
"left">
33 <span class=
"emphasis"><em>Containers
</em></span>
34 </td></tr><tr><td align=
"left">23.1</td><td align=
"left">Container requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2</td><td align=
"left">Sequence containers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.1</td><td align=
"left">Class template
<code class=
"code">deque
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.2</td><td align=
"left">Class template
<code class=
"code">list
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.3</td><td align=
"left">Adaptors
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.3.1</td><td align=
"left">Class template
<code class=
"code">queue
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.3.2</td><td align=
"left">Class template
<code class=
"code">priority_queue
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.3.3</td><td align=
"left">Class template
<code class=
"code">stack
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.4</td><td align=
"left">Class template
<code class=
"code">vector
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.5</td><td align=
"left">Class
<code class=
"code">vector
<bool
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3</td><td align=
"left">Associative containers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.1</td><td align=
"left">Class template
<code class=
"code">map
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.2</td><td align=
"left">Class template
<code class=
"code">multimap
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.3</td><td align=
"left">Class template
<code class=
"code">set
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.4</td><td align=
"left">Class template
<code class=
"code">multiset
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
35 <span class=
"emphasis"><em>24</em></span>
36 </td><td colspan=
"3" align=
"left">
37 <span class=
"emphasis"><em>Iterators
</em></span>
38 </td></tr><tr><td align=
"left">24.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.2</td><td align=
"left">Header
<code class=
"code"><iterator
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.3</td><td align=
"left">Iterator primitives
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.4</td><td align=
"left">Predefined iterators and Iterator adaptors
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">24.4.1</td><td align=
"left">Reverse iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.4.2</td><td align=
"left">Insert iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5</td><td align=
"left">Stream iterators
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.1</td><td align=
"left">Class template
<code class=
"code">istream_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.2</td><td align=
"left">Class template
<code class=
"code">ostream_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.3</td><td align=
"left">Class template
<code class=
"code">istreambuf_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.4</td><td align=
"left">Class template
<code class=
"code">ostreambuf_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
39 <span class=
"emphasis"><em>25</em></span>
40 </td><td colspan=
"3" align=
"left">
41 <span class=
"emphasis"><em>Algorithms
</em></span>
42 </td></tr><tr><td align=
"left">25.1</td><td align=
"left">Non-modifying sequence operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.2</td><td align=
"left">Mutating sequence operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.3</td><td align=
"left">Sorting and related operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.4</td><td align=
"left">C library algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
43 <span class=
"emphasis"><em>26</em></span>
44 </td><td colspan=
"3" align=
"left">
45 <span class=
"emphasis"><em>Numerics
</em></span>
46 </td></tr><tr><td align=
"left">26.1</td><td align=
"left">Numeric type requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.2</td><td align=
"left">Complex numbers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3</td><td align=
"left">Numeric arrays
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.1</td><td align=
"left">Header
<code class=
"code"><valarray
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.2</td><td align=
"left">Class template
<code class=
"code">valarray
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.3</td><td align=
"left"><code class=
"code">valarray
</code> non-member operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.4</td><td align=
"left">Class
<code class=
"code">slice
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.5</td><td align=
"left">Class template
<code class=
"code">slice_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.6</td><td align=
"left">Class
<code class=
"code">gslice
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.7</td><td align=
"left">Class template
<code class=
"code">gslice_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.8</td><td align=
"left">Class template
<code class=
"code">mask_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3.9</td><td align=
"left">Class template
<code class=
"code">indirect_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4</td><td align=
"left">Generalized numeric operations
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.4.1</td><td align=
"left"><code class=
"code">accumulate
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4.2</td><td align=
"left"><code class=
"code">inner_product
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4.3</td><td align=
"left"><code class=
"code">partial_sum
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4.4</td><td align=
"left"><code class=
"code">adjacent_difference
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4.5</td><td align=
"left">iota
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5</td><td align=
"left">C Library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
47 <span class=
"emphasis"><em>27</em></span>
48 </td><td colspan=
"3" align=
"left">
49 <span class=
"emphasis"><em>Input/output
</em></span>
50 </td></tr><tr><td align=
"left">27.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.2</td><td align=
"left">Forward declarations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.3</td><td align=
"left">Standard iostream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.3.1</td><td align=
"left">Narrow stream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.3.2</td><td align=
"left">Wide stream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.4</td><td align=
"left">Iostreams base classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.5</td><td align=
"left">Stream buffers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.6</td><td align=
"left">Formatting and manipulators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.7</td><td align=
"left">String-based streams
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.8</td><td align=
"left">File-based streams
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
51 <span class=
"emphasis"><em>Appendix D
</em></span>
52 </td><td colspan=
"3" align=
"left">
53 <span class=
"emphasis"><em>Compatibility features
</em></span>
54 </td></tr><tr><td align=
"left">D
.1</td><td align=
"left">Increment operator with bool operand
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.2</td><td align=
"left"><code class=
"code">static
</code> keyword
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.3</td><td align=
"left">Access declarations
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.4</td><td align=
"left">Implicit conversion from const strings
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.5</td><td align=
"left">C standard library headers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.6</td><td align=
"left">Old iostreams members
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.7</td><td align=
"left">char* streams
</td><td align=
"left"> </td><td align=
"left"> </td></tr></tbody></table></div></div><br class=
"table-break" /></div><div class=
"section"><div class=
"titlepage"><div><div><h4 class=
"title"><a id=
"iso.1998.specific"></a>Implementation Specific Behavior
</h4></div></div></div><p>
55 The ISO standard defines the following phrase:
56 </p><div class=
"blockquote"><blockquote class=
"blockquote"><div class=
"variablelist"><dl class=
"variablelist"><dt><span class=
"term">
57 <code class=
"code">[
1.3.5] implementation-defined behavior
</code>
59 Behavior, for a well-formed program construct and correct data, that
60 depends on the implementation
<span class=
"emphasis"><em>and that each implementation
61 shall document
</em></span>.
62 </p></dd></dl></div></blockquote></div><p>
63 We do so here, for the C++ library only. Behavior of the
64 compiler, linker, runtime loader, and other elements of
"the
65 implementation" are documented elsewhere. Everything listed
66 in Annex B, Implementation Qualities, are also part of the
67 compiler, not the library.
69 For each entry, we give the section number of the standard, when
70 applicable. This list is probably incomplet and inkorrekt.
72 <span class=
"emphasis"><em>[
1.9]/
11 #
3</em></span> If
<code class=
"code">isatty(
3)
</code> is true, then
73 interactive stream support is implied.
75 <span class=
"emphasis"><em>[
17.4.4.5]
</em></span> Non-reentrant functions are probably best
76 discussed in the various sections on multithreading (see above).
77 </p><p><span class=
"emphasis"><em>[
18.1]/
4</em></span> The type of
<code class=
"code">NULL
</code> is described
78 under
<a class=
"link" href=
"support.html#std.support.types.null" title=
"NULL">Support
</a>.
79 </p><p><span class=
"emphasis"><em>[
18.3]/
8</em></span> Even though it's listed in the library
80 sections, libstdc++ has zero control over what the cleanup code hands
81 back to the runtime loader. Talk to the compiler people. :-)
82 </p><p><span class=
"emphasis"><em>[
18.4.2.1]/
5</em></span> (bad_alloc),
83 <span class=
"emphasis"><em>[
18.5.2]/
5</em></span> (bad_cast),
84 <span class=
"emphasis"><em>[
18.5.3]/
5</em></span> (bad_typeid),
85 <span class=
"emphasis"><em>[
18.6.1]/
8</em></span> (exception),
86 <span class=
"emphasis"><em>[
18.6.2.1]/
5</em></span> (bad_exception): The
<code class=
"code">what()
</code>
87 member function of class
<code class=
"code">std::exception
</code>, and these other
88 classes publicly derived from it, returns the name of the
89 class, e.g.
<code class=
"literal">"std::bad_alloc"</code>.
90 </p><p><span class=
"emphasis"><em>[
18.5.1]/
7</em></span> The return value of
91 <code class=
"code">std::type_info::name()
</code> is the mangled type name.
92 You will need to call
<code class=
"code">c++filt
</code> and pass the names as
93 command-line parameters to demangle them, or call a
94 <a class=
"link" href=
"ext_demangling.html" title=
"Chapter 29. Demangling">runtime demangler function
</a>.
95 </p><p><span class=
"emphasis"><em>[
20.1.5]/
5</em></span> <span class=
"emphasis"><em>"Implementors are encouraged to
96 supply libraries that can accept allocators that encapsulate more
97 general memory models and that support non-equal instances. In such
98 implementations, any requirements imposed on allocators by containers
99 beyond those requirements that appear in Table 32, and the semantics
100 of containers and algorithms when allocator instances compare
101 non-equal, are implementation-defined."</em></span> There is experimental
102 support for non-equal allocators in the standard containers in C++
98
103 mode. There are no additional requirements on allocators. It is undefined
104 behaviour to swap two containers if their allocators are not equal.
105 </p><p><span class=
"emphasis"><em>[
21.1.3.1]/
3,
4</em></span>,
106 <span class=
"emphasis"><em>[
21.1.3.2]/
2</em></span>,
107 <span class=
"emphasis"><em>[
21.3]/
6 basic_string::iterator, basic_string::const_iterator
</em></span>,
108 <span class=
"emphasis"><em>[
23.*]'s foo::iterator
</em></span>,
109 <span class=
"emphasis"><em>[
27.*]'s foo::*_type
</em></span>,
110 <span class=
"emphasis"><em>others...
</em></span>
111 Nope, these types are called implementation-defined because you
112 shouldn't be taking advantage of their underlying types. Listing them
113 here would defeat the purpose. :-)
114 </p><p><span class=
"emphasis"><em>[
21.1.3.1]/
5</em></span> I don't really know about
115 the
<span class=
"type">mbstate_t
</span> stuff... see
116 the
<a class=
"link" href=
"facets.html#std.localization.facet.codecvt" title=
"codecvt"><code class=
"code">codecvt
</code>
117 notes
</a> for what does exist.
118 </p><p><span class=
"emphasis"><em>[
22.*]
</em></span> Anything and everything we have on locale
119 implementation will be described under
120 <a class=
"link" href=
"localization.html#std.localization.locales.locale" title=
"locale">Localization
</a>.
121 </p><p><span class=
"emphasis"><em>[
26.2.8]/
9</em></span> I have no idea what
122 <code class=
"code">complex
<T
></code>'s
<code class=
"code">pow(
0,
0)
</code> returns.
123 </p><p><span class=
"emphasis"><em>[
27.4.2.4]/
2</em></span> Calling
124 <code class=
"code">std::ios_base::sync_with_stdio
</code> after I/O has already been
125 performed on the standard stream objects will
126 flush the buffers, and
127 destroy and recreate the underlying buffer instances. Whether or not
128 the previously-written I/O is destroyed in this process depends mostly
129 on the
<code class=
"code">--enable-libio
</code> choice: for stdio, if the written
130 data is already in the stdio buffer, the data may be completely safe!
131 </p><p><span class=
"emphasis"><em>[
27.6.1.1.2]
</em></span>,
132 <span class=
"emphasis"><em>[
27.6.2.3]
</em></span> The I/O sentry ctor and dtor can perform
133 additional work than the minimum required. We are not currently taking
134 advantage of this yet.
135 </p><p><span class=
"emphasis"><em>[
27.7.1.3]/
16</em></span>,
136 <span class=
"emphasis"><em>[
27.8.1.4]/
10</em></span>
137 The effects of
<code class=
"code">pubsetbuf/setbuf
</code> are described in the
138 <a class=
"link" href=
"io.html" title=
"Chapter 13. Input and Output">Input and Output
</a> chapter.
139 </p><p><span class=
"emphasis"><em>[
27.8.1.4]/
16</em></span> Calling
<code class=
"code">fstream::sync
</code> when
140 a get area exists will... whatever
<code class=
"code">fflush()
</code> does, I think.
141 </p></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.2011"></a>C++
2011</h3></div></div></div><p>
142 <a id=
"status.iso.200x"></a>
143 This table is based on the table of contents of ISO/IEC
144 JTC1 SC22 WG21 Doc No: N3290 Date:
2011-
04-
11
145 Final Draft International Standard, Standard for Programming Language C++
147 In this implementation the
<code class=
"literal">-std=gnu++
11</code> or
148 <code class=
"literal">-std=c++
11</code> flag must be used to enable language
150 features. See
<a class=
"link" href=
"using.html#manual.intro.using.flags" title=
"Command Options">dialect
</a>
151 options. The pre-defined symbol
152 <code class=
"constant">__cplusplus
</code> is used to check for the
153 presence of the required flag.
155 This page describes the C++
11 support in mainline GCC SVN, not in any
157 </p><div class=
"table"><a id=
"table.cxx11_status"></a><p class=
"title"><strong>Table
1.2. C++
2011 Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ 2011 Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Section
</th><th align=
"left">Description
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left">
158 <span class=
"emphasis"><em>18</em></span>
159 </td><td colspan=
"3" align=
"left">
160 <span class=
"emphasis"><em>Language support
</em></span>
161 </td></tr><tr><td align=
"left">18.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.2</td><td align=
"left">Types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.3</td><td align=
"left">Implementation properties
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.3.2</td><td align=
"left">Numeric Limits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.3.2.3</td><td align=
"left">Class template
<code class=
"code">numeric_limits
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.3.2.4</td><td align=
"left"><code class=
"code">numeric_limits
</code> members
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">18.3.2.5</td><td align=
"left"><code class=
"code">float_round_style
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">18.3.2.6</td><td align=
"left"><code class=
"code">float_denorm_style
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.3.2.7</td><td align=
"left"><code class=
"code">numeric_limits
</code> specializations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.3.3</td><td align=
"left">C Library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.4</td><td align=
"left">Integer types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.4.1</td><td align=
"left">Header
<code class=
"code"><cstdint
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">18.5</td><td align=
"left">Start and termination
</td><td align=
"left">Partial
</td><td align=
"left">C library dependency for quick_exit, at_quick_exit
</td></tr><tr><td align=
"left">18.6</td><td align=
"left">Dynamic memory management
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.7</td><td align=
"left">Type identification
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.7.1</td><td align=
"left">Class type_info
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.7.2</td><td align=
"left">Class bad_cast
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.7.3</td><td align=
"left">Class bad_typeid
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8</td><td align=
"left">Exception handling
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.1</td><td align=
"left">Class exception
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.2</td><td align=
"left">Class bad_exception
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.3</td><td align=
"left">Abnormal termination
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.4</td><td align=
"left"><code class=
"code">uncaught_exception
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.5</td><td align=
"left">Exception Propagation
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.8.6</td><td align=
"left"><code class=
"code">nested_exception
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.9</td><td align=
"left">Initializer lists
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">18.9.1</td><td align=
"left">Initializer list constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.9.2</td><td align=
"left">Initializer list access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.9.3</td><td align=
"left">Initializer list range access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">18.10</td><td align=
"left">Other runtime support
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
162 <span class=
"emphasis"><em>19</em></span>
163 </td><td colspan=
"3" align=
"left">
164 <span class=
"emphasis"><em>Diagnostics
</em></span>
165 </td></tr><tr><td align=
"left">19.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.2</td><td align=
"left">Exception classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.3</td><td align=
"left">Assertions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.4</td><td align=
"left">Error numbers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.5</td><td align=
"left">System error support
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">19.5.1</td><td align=
"left">Class
<code class=
"code">error_category
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.5.2</td><td align=
"left">Class
<code class=
"code">error_code
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.5.3</td><td align=
"left">Class
<code class=
"code">error_condition
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.5.4</td><td align=
"left">Comparison operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">19.5.5</td><td align=
"left">Class
<code class=
"code">system_error
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
166 <span class=
"emphasis"><em>20</em></span>
167 </td><td colspan=
"3" align=
"left">
168 <span class=
"emphasis"><em>General utilities
</em></span>
169 </td></tr><tr><td align=
"left">20.1</td><td align=
"left">General
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.2</td><td align=
"left">Utility components
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.1</td><td align=
"left">Operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.2</td><td align=
"left">Swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.3</td><td align=
"left"><code class=
"code">forward
</code> and
<code class=
"code">move
</code> helpers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.2.4</td><td align=
"left">Function template
<code class=
"code">declval
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3</td><td align=
"left">Pairs
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.1</td><td align=
"left">In general
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.2</td><td align=
"left">Class template
<code class=
"code">pair
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.3</td><td align=
"left">Specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.4</td><td align=
"left">Tuple-like access to
<code class=
"code">pair
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.3.5</td><td align=
"left">Piecewise construction
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4</td><td align=
"left">Tuples
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.1</td><td align=
"left">In general
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2</td><td align=
"left">Class template
<code class=
"code">tuple
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.1</td><td align=
"left">Construction
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.2</td><td align=
"left">Assignment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.3</td><td align=
"left">Swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.4</td><td align=
"left">Tuple creation functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.5</td><td align=
"left">Tuple helper classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.6</td><td align=
"left">Element access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.7</td><td align=
"left">Relational operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.8</td><td align=
"left">Tuple traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.4.2.9</td><td align=
"left">Tuple specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.5</td><td align=
"left">Class template
<code class=
"code">bitset
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.5.1</td><td align=
"left"><code class=
"code">bitset
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.5.2</td><td align=
"left"><code class=
"code">bitset
</code> members
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.5.3</td><td align=
"left"><code class=
"code">bitset
</code> hash support
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.5.4</td><td align=
"left"><code class=
"code">bitset
</code> operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6</td><td align=
"left">Memory
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.1</td><td align=
"left">In general
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.2</td><td align=
"left">Header
<code class=
"code"><memory
></code> synopsis
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.3</td><td align=
"left">Pointer traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.4</td><td align=
"left">Pointer safety
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.5</td><td align=
"left">Align
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.6</td><td align=
"left">Allocator argument tag
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.7</td><td align=
"left"><code class=
"code">uses_allocator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.8</td><td align=
"left">Allocator traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.9</td><td align=
"left">The default allocator
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.10</td><td align=
"left">Raw storage iterator
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.11</td><td align=
"left">Temporary buffers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.12</td><td align=
"left">Specialized algorithms
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.12.1</td><td align=
"left"><code class=
"code">addressof
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.12.2</td><td align=
"left"><code class=
"code">uninitialized_copy
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.12.3</td><td align=
"left"><code class=
"code">uninitialized_fill
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.12.4</td><td align=
"left"><code class=
"code">uninitialized_fill_n
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.6.13</td><td align=
"left">C library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7</td><td align=
"left">Smart pointers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.1</td><td align=
"left">Class template
<code class=
"code">unique_ptr
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2</td><td align=
"left">Shared-ownership pointers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2.1</td><td align=
"left">Class
<code class=
"code">bad_weak_ptr
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2.2</td><td align=
"left">Class template
<code class=
"code">shared_ptr
</code></td><td align=
"left">Y
</td><td align=
"left">
171 <a class=
"link" href=
"http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target=
"_top">boost::shared_ptr
</a>.
172 </td></tr><tr><td align=
"left">20.7.2.3</td><td align=
"left">Class template
<code class=
"code">weak_ptr
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2.4</td><td align=
"left">Class template
<code class=
"code">emable_shared_from_this
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2.5</td><td align=
"left"><code class=
"code">shared_ptr
</code> atomic access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.7.2.6</td><td align=
"left">Smart pointer hash support
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8</td><td align=
"left">Function objects
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.1</td><td align=
"left">Definitions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.2</td><td align=
"left">Requirements
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.3</td><td align=
"left">Class template
<code class=
"code">reference_wrapper
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.4</td><td align=
"left">Arithmetic operation
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.5</td><td align=
"left">Comparisons
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.6</td><td align=
"left">Logical operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.7</td><td align=
"left">Bitwise operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.8</td><td align=
"left">Negators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.9</td><td align=
"left">Function template
<code class=
"code">bind
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.10</td><td align=
"left">Function template
<code class=
"code">mem_fn
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.11</td><td align=
"left">Polymorphic function wrappers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.8.11.1</td><td align=
"left">Class
<code class=
"code">bad_function_call
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">20.8.11.2</td><td align=
"left">Class template
<code class=
"code">function
</code></td><td align=
"left">Partial
</td><td align=
"left">Missing allocator support
</td></tr><tr><td align=
"left">20.8.12</td><td align=
"left">Class template
<code class=
"code">hash
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9</td><td align=
"left">Metaprogramming and type traits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.2</td><td align=
"left">Header
<code class=
"code"><type_traits
></code> synopsis
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.3</td><td align=
"left">Helper classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.4</td><td align=
"left">Unary Type Traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.4.1</td><td align=
"left">Primary type categories
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.4.2</td><td align=
"left">Composite type traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.4.3</td><td align=
"left">Type properties
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.5</td><td align=
"left">Type property queries
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.6</td><td align=
"left">Relationships between types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7</td><td align=
"left">Transformations between types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.1</td><td align=
"left">Const-volatile modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.2</td><td align=
"left">Reference modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.3</td><td align=
"left">Sign modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.4</td><td align=
"left">Array modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.5</td><td align=
"left">Pointer modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.9.7.6</td><td align=
"left">Other transformations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.10</td><td align=
"left">Compile-time rational arithmetic
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.1</td><td align=
"left">In general
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.2</td><td align=
"left">Header
<code class=
"code"><ratio
></code> synopsis
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.3</td><td align=
"left">Class template
<code class=
"code">ratio
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.4</td><td align=
"left">Arithmetic on
<code class=
"code">ratio
</code>s
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.5</td><td align=
"left">Comparison of
<code class=
"code">ratio
</code>s
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.10.6</td><td align=
"left">SI types for
<code class=
"code">ratio
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11</td><td align=
"left">Time utilities
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.3</td><td align=
"left">Clock requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.4</td><td align=
"left">Time-related traits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.4.1</td><td align=
"left"><code class=
"code">treat_as_floating_point
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.4.2</td><td align=
"left"><code class=
"code">duration_values
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.4.3</td><td align=
"left">Specializations of
<code class=
"code">common_type
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.5</td><td align=
"left">Class template
<code class=
"code">duration
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.6</td><td align=
"left">Class template
<code class=
"code">time_point
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.7</td><td align=
"left">Clocks
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.7.1</td><td align=
"left">Class
<code class=
"code">system_clock
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.7.2</td><td align=
"left">Class
<code class=
"code">steady_clock
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.7.3</td><td align=
"left">Class
<code class=
"code">high_resolution_clock
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.11.8</td><td align=
"left">Date and time functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.12</td><td align=
"left">Scoped allocator adaptor
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.12.1</td><td align=
"left">Header
<code class=
"code"><scoped_allocator
></code> synopsis
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">20.12.2</td><td align=
"left">Scoped allocator adaptor member types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.12.3</td><td align=
"left">Scoped allocator adaptor constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.12.4</td><td align=
"left">Scoped allocator adaptor members
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.12.5</td><td align=
"left">Scoped allocator operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">20.13</td><td align=
"left">Class
<code class=
"code">type_index
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
173 <span class=
"emphasis"><em>21</em></span>
174 </td><td colspan=
"3" align=
"left">
175 <span class=
"emphasis"><em>Strings
</em></span>
176 </td></tr><tr><td align=
"left">21.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2</td><td align=
"left">Character traits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.1</td><td align=
"left">Character traits requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.2</td><td align=
"left">traits typedefs
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.3</td><td align=
"left"><code class=
"code">char_traits
</code> specializations
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.3.1</td><td align=
"left">struct
<code class=
"code">char_traits
<char
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.3.2</td><td align=
"left">struct
<code class=
"code">char_traits
<char16_t
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.3.3</td><td align=
"left">struct
<code class=
"code">char_traits
<char32_t
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.2.3.4</td><td align=
"left">struct
<code class=
"code">char_traits
<wchar_t
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.3</td><td align=
"left">String classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.4</td><td align=
"left">Class template
<code class=
"code">basic_string
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.5</td><td align=
"left">Numeric Conversions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">21.6</td><td align=
"left">Hash support
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">21.7</td><td align=
"left">Null-terminated sequence utilities
</td><td align=
"left">Partial
</td><td align=
"left">C library dependency.
177 Missing
<code class=
"filename"><cuchar
></code>
178 </td></tr><tr><td align=
"left">
179 <span class=
"emphasis"><em>22</em></span>
180 </td><td colspan=
"3" align=
"left">
181 <span class=
"emphasis"><em>Localization
</em></span>
182 </td></tr><tr><td align=
"left">22.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.2</td><td align=
"left">Header
<code class=
"code"><locale
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3</td><td align=
"left">Locales
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.1</td><td align=
"left">Class
<code class=
"code">locale
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.2</td><td align=
"left"><code class=
"code">locale
</code> globals
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3</td><td align=
"left">Convenience interfaces
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3.1</td><td align=
"left">Character classification
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3.2</td><td align=
"left">Conversions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3.2.1</td><td align=
"left">Character conversions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3.2.2</td><td align=
"left"><code class=
"code">string
</code> conversions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.3.3.2.3</td><td align=
"left">Buffer conversions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4</td><td align=
"left">Standard
<code class=
"code">locale
</code> categories
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.1</td><td align=
"left">The
<code class=
"code">ctype
</code> category
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.2</td><td align=
"left">The numeric category
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.2.1</td><td align=
"left"><code class=
"code">num_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.2.2</td><td align=
"left"><code class=
"code">num_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.3</td><td align=
"left">The numeric punctuation facet
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.4</td><td align=
"left">The collate category
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.5</td><td align=
"left">The time category
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.5.1</td><td align=
"left">Class template
<code class=
"code">time_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.5.2</td><td align=
"left">Class template
<code class=
"code">time_get_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.5.3</td><td align=
"left">Class template
<code class=
"code">time_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.5.3</td><td align=
"left">Class template
<code class=
"code">time_put_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.6</td><td align=
"left">The monetary category
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.6.1</td><td align=
"left">Class template
<code class=
"code">money_get
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.6.2</td><td align=
"left">Class template
<code class=
"code">money_put
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.6.3</td><td align=
"left">Class template
<code class=
"code">money_punct
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.6.4</td><td align=
"left">Class template
<code class=
"code">money_punct_byname
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.7</td><td align=
"left">The message retrieval category
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.4.8</td><td align=
"left">Program-defined facets
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.5</td><td align=
"left">Standard code conversion facets
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">22.6</td><td align=
"left">C Library Locales
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
183 <span class=
"emphasis"><em>23</em></span>
184 </td><td colspan=
"3" align=
"left">
185 <span class=
"emphasis"><em>Containers
</em></span>
186 </td></tr><tr><td align=
"left">23.1</td><td align=
"left">General
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.2</td><td align=
"left">Container requirements
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.1</td><td align=
"left">General container requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.2</td><td align=
"left">Container data races
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.3</td><td align=
"left">Sequence containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.4</td><td align=
"left">Associative containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.2.5</td><td align=
"left">Unordered associative containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3</td><td align=
"left">Sequence containers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.2</td><td align=
"left">Class template
<code class=
"code">array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.3</td><td align=
"left">Class template
<code class=
"code">deque
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.4</td><td align=
"left">Class template
<code class=
"code">forward_list
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.5</td><td align=
"left">Class template
<code class=
"code">list
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.6</td><td align=
"left">Class template
<code class=
"code">vector
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.3.7</td><td align=
"left">Class
<code class=
"code">vector
<bool
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.4</td><td align=
"left">Associative containers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.4.4</td><td align=
"left">Class template
<code class=
"code">map
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.4.5</td><td align=
"left">Class template
<code class=
"code">multimap
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.4.6</td><td align=
"left">Class template
<code class=
"code">set
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.4.7</td><td align=
"left">Class template
<code class=
"code">multiset
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.5</td><td align=
"left">Unordered associative containers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.5.4</td><td align=
"left">Class template
<code class=
"code">unordered_map
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.5.5</td><td align=
"left">Class template
<code class=
"code">unordered_multimap
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.5.6</td><td align=
"left">Class template
<code class=
"code">unordered_set
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.5.7</td><td align=
"left">Class template
<code class=
"code">unordered_multiset
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.6</td><td align=
"left">Container adaptors
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">23.6.1</td><td align=
"left">Class template
<code class=
"code">queue
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.6.2</td><td align=
"left">Class template
<code class=
"code">priority_queue
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">23.6.3</td><td align=
"left">Class template
<code class=
"code">stack
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
187 <span class=
"emphasis"><em>24</em></span>
188 </td><td colspan=
"3" align=
"left">
189 <span class=
"emphasis"><em>Iterators
</em></span>
190 </td></tr><tr><td align=
"left">24.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.2</td><td align=
"left">Iterator requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.3</td><td align=
"left">Header
<code class=
"code"><iterator
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.4</td><td align=
"left">Iterator primitives
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5</td><td align=
"left">Iterator adaptors
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.1</td><td align=
"left">Reverse iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.2</td><td align=
"left">Insert iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.5.3</td><td align=
"left">Move iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.6</td><td align=
"left">Stream iterators
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">24.6.1</td><td align=
"left">Class template
<code class=
"code">istream_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.6.2</td><td align=
"left">Class template
<code class=
"code">ostream_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.6.3</td><td align=
"left">Class template
<code class=
"code">istreambuf_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.6.4</td><td align=
"left">Class template
<code class=
"code">ostreambuf_iterator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">24.6.5</td><td align=
"left">range access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
191 <span class=
"emphasis"><em>25</em></span>
192 </td><td colspan=
"3" align=
"left">
193 <span class=
"emphasis"><em>Algorithms
</em></span>
194 </td></tr><tr><td align=
"left">25.1</td><td align=
"left">General
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">25.2</td><td align=
"left">Non-modifying sequence operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.3</td><td align=
"left">Mutating sequence operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.4</td><td align=
"left">Sorting and related operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">25.5</td><td align=
"left">C library algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
195 <span class=
"emphasis"><em>26</em></span>
196 </td><td colspan=
"3" align=
"left">
197 <span class=
"emphasis"><em>Numerics
</em></span>
198 </td></tr><tr><td align=
"left">26.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.2</td><td align=
"left">Numeric type requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.3</td><td align=
"left">The floating-point environment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.4</td><td align=
"left">Complex numbers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5</td><td align=
"left">Random number generation
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.1</td><td align=
"left">Requirements
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.2</td><td align=
"left">Header
<code class=
"code"><random
></code> synopsis
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.3</td><td align=
"left">Random number engine class templates
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.3.1</td><td align=
"left">Class template
<code class=
"code">linear_congruential_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.3.2</td><td align=
"left">Class template
<code class=
"code">mersenne_twister_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.3.3</td><td align=
"left">Class template
<code class=
"code">subtract_with_carry_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.4</td><td align=
"left">Random number engine adaptor class templates
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.4.2</td><td align=
"left">Class template
<code class=
"code">discard_block_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.4.3</td><td align=
"left">Class template
<code class=
"code">independent_bits_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.4.4</td><td align=
"left">Class template
<code class=
"code">shuffle_order_engine
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.5</td><td align=
"left">Engines and engine adaptors with predefined parameters
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.6</td><td align=
"left">Class
<code class=
"code">random_device
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.7</td><td align=
"left">Utilities
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.7.1</td><td align=
"left">Class
<code class=
"code">seed_seq
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.7.2</td><td align=
"left">Function template
<code class=
"code">generate_canonical
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8</td><td align=
"left">Random number distribution class templates
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.2</td><td align=
"left">Uniform distributions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.2.1</td><td align=
"left">Class template
<code class=
"code">uniform_int_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.2.2</td><td align=
"left">Class template
<code class=
"code">uniform_real_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.3</td><td align=
"left">Bernoulli distributions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.3.1</td><td align=
"left">Class
<code class=
"code">bernoulli_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.3.2</td><td align=
"left">Class template
<code class=
"code">binomial_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.3.3</td><td align=
"left">Class template
<code class=
"code">geometric_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.3.4</td><td align=
"left">Class template
<code class=
"code">negative_binomial_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4</td><td align=
"left">Poisson distributions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4.1</td><td align=
"left">Class template
<code class=
"code">poisson_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4.2</td><td align=
"left">Class template
<code class=
"code">exponential_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4.3</td><td align=
"left">Class template
<code class=
"code">gamma_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4.4</td><td align=
"left">Class template
<code class=
"code">weibull_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.4.5</td><td align=
"left">Class template
<code class=
"code">extreme_value_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5</td><td align=
"left">Normal distributions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.1</td><td align=
"left">Class template
<code class=
"code">normal_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.2</td><td align=
"left">Class template
<code class=
"code">lognormal_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.3</td><td align=
"left">Class template
<code class=
"code">chi_squared_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.4</td><td align=
"left">Class template
<code class=
"code">cauchy_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.5</td><td align=
"left">Class template
<code class=
"code">fisher_f_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.5.6</td><td align=
"left">Class template
<code class=
"code">student_t_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.6</td><td align=
"left">Sampling distributions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.6.1</td><td align=
"left">Class template
<code class=
"code">discrete_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.6.2</td><td align=
"left">Class template
<code class=
"code">piecewise_constant_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.5.8.6.3</td><td align=
"left">Class template
<code class=
"code">piecewise_linear_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6</td><td align=
"left">Numeric arrays
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.1</td><td align=
"left">Header
<code class=
"code"><valarray
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.2</td><td align=
"left">Class template
<code class=
"code">valarray
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.3</td><td align=
"left"><code class=
"code">valarray
</code> non-member operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.4</td><td align=
"left">Class
<code class=
"code">slice
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.5</td><td align=
"left">Class template
<code class=
"code">slice_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.6</td><td align=
"left">The
<code class=
"code">gslice
</code> class
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.7</td><td align=
"left">Class template
<code class=
"code">gslice_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.8</td><td align=
"left">Class template
<code class=
"code">mask_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.9</td><td align=
"left">Class template
<code class=
"code">indirect_array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.6.10</td><td align=
"left"><code class=
"code">valarray
</code> range access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7</td><td align=
"left">Generalized numeric operations
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.1</td><td align=
"left">Header
<code class=
"code"><numeric
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.2</td><td align=
"left"><code class=
"code">accumulate
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.3</td><td align=
"left"><code class=
"code">inner_product
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.4</td><td align=
"left"><code class=
"code">partial_sum
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.5</td><td align=
"left"><code class=
"code">adjacent_difference
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.7.6</td><td align=
"left">iota
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">26.8</td><td align=
"left">C Library
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
199 <span class=
"emphasis"><em>27</em></span>
200 </td><td colspan=
"3" align=
"left">
201 <span class=
"emphasis"><em>Input/output library
</em></span>
202 </td></tr><tr><td align=
"left">27.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.2</td><td align=
"left">Iostreams requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.2.1</td><td align=
"left">Imbue Limitations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.2.2</td><td align=
"left">Positioning Type Limitations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">27.2.3</td><td align=
"left">Thread safety
</td><td align=
"left">Partial
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.3</td><td align=
"left">Forward declarations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.4</td><td align=
"left">Standard iostream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.4.1</td><td align=
"left">Overview
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.4.2</td><td align=
"left">Narrow stream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.4.3</td><td align=
"left">Wide stream objects
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.5</td><td align=
"left">Iostreams base classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.6</td><td align=
"left">Stream buffers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.7</td><td align=
"left">Formatting and manipulators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.8</td><td align=
"left">String-based streams
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">27.9</td><td align=
"left">File-based streams
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
203 <span class=
"emphasis"><em>28</em></span>
204 </td><td colspan=
"3" align=
"left">
205 <span class=
"emphasis"><em>Regular expressions
</em></span>
206 </td></tr><tr><td align=
"left">28.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.3</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.4</td><td align=
"left">Header
<code class=
"code"><regex
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.5</td><td align=
"left">Namespace
<code class=
"code">std::regex_constants
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.6</td><td align=
"left">Class
<code class=
"code">regex_error
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">28.7</td><td align=
"left">Class template
<code class=
"code">regex_traits
</code></td><td align=
"left">Partial
</td><td align=
"left"><code class=
"code">transform_primary
</code> is not correctly implemented
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.8</td><td align=
"left">Class template
<code class=
"code">basic_regex
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.9</td><td align=
"left">Class template
<code class=
"code">sub_match
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.10</td><td align=
"left">Class template
<code class=
"code">match_results
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.11</td><td align=
"left">Regular expression algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.12</td><td align=
"left">Regular expression Iterators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">28.13</td><td align=
"left">Modified ECMAScript regular expression grammar
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
207 <span class=
"emphasis"><em>29</em></span>
208 </td><td colspan=
"3" align=
"left">
209 <span class=
"emphasis"><em>Atomic operations
</em></span>
210 </td></tr><tr><td align=
"left">29.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.2</td><td align=
"left">Header
<code class=
"code"><atomic
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">29.3</td><td align=
"left">Order and consistency
</td><td align=
"left">Partial
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.4</td><td align=
"left">Lock-free property
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.5</td><td align=
"left">Atomic types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.6</td><td align=
"left">Operations on atomic types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.7</td><td align=
"left">Flag Type and operations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">29.8</td><td align=
"left">Fences
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
211 <span class=
"emphasis"><em>30</em></span>
212 </td><td colspan=
"3" align=
"left">
213 <span class=
"emphasis"><em>Thread support
</em></span>
214 </td></tr><tr><td align=
"left">30.1</td><td align=
"left">General
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.2</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.3</td><td align=
"left">Threads
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">30.3.1</td><td align=
"left">Class
<code class=
"code">thread
</code></td><td align=
"left">Partial
</td><td align=
"left"><code class=
"code">thread::id
</code> comparisons not well-defined
</td></tr><tr><td align=
"left">30.3.2</td><td align=
"left">Namespace
<code class=
"code">this_thread
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4</td><td align=
"left">Mutual exclusion
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1</td><td align=
"left">Mutex requirements
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.1</td><td align=
"left">In general
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.2</td><td align=
"left">Mutex types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.2.1</td><td align=
"left">Class
<code class=
"code">mutex
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.2.2</td><td align=
"left">Class
<code class=
"code">recursive_mutex
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.3</td><td align=
"left">Timed mutex types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.3.1</td><td align=
"left">Class
<code class=
"code">timed_mutex
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.1.3.2</td><td align=
"left">Class
<code class=
"code">recursive_timed_mutex
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.2</td><td align=
"left">Locks
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.2.1</td><td align=
"left">Class template
<code class=
"code">lock_guard
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.2.2</td><td align=
"left">Class template
<code class=
"code">unique_lock
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.3</td><td align=
"left">Generic locking algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.4</td><td align=
"left">Call once
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.4.1</td><td align=
"left">Struct
<code class=
"code">once_flag
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.4.4.2</td><td align=
"left">Function
<code class=
"code">call_once
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.5</td><td align=
"left">Condition variables
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.5.1</td><td align=
"left">Class
<code class=
"code">condition_variable
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.5.2</td><td align=
"left">Class
<code class=
"code">condition_variable_any
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6</td><td align=
"left">Futures
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.1</td><td align=
"left">Overview
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.2</td><td align=
"left">Error handling
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.3</td><td align=
"left">Class
<code class=
"code">future_error
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.4</td><td align=
"left">Shared state
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.5</td><td align=
"left">Class template
<code class=
"code">promise
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.6</td><td align=
"left">Class template
<code class=
"code">future
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.7</td><td align=
"left">Class template
<code class=
"code">shared_future
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.8</td><td align=
"left">Function template
<code class=
"code">async
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">30.6.9</td><td align=
"left">Class template
<code class=
"code">packaged_task
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
215 <span class=
"emphasis"><em>Appendix D
</em></span>
216 </td><td colspan=
"3" align=
"left">
217 <span class=
"emphasis"><em>Compatibility features
</em></span>
218 </td></tr><tr><td align=
"left">D
.1</td><td align=
"left">Increment operator with
<code class=
"code">bool
</code> operand
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.2</td><td align=
"left"><code class=
"code">register
</code> keyword
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.3</td><td align=
"left">Implicit declaration of copy functions
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.4</td><td align=
"left">Dynamic exception specifications
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.5</td><td align=
"left">C standard library headers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.6</td><td align=
"left">Old iostreams members
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.7</td><td align=
"left"><code class=
"code">char*
</code> streams
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.8</td><td align=
"left">Function objects
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.9</td><td align=
"left">Binders
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.10</td><td align=
"left"><code class=
"code">auto_ptr
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">D
.11</td><td align=
"left">Violating exception-specifications
</td><td align=
"left"> </td><td align=
"left"> </td></tr></tbody></table></div></div><br class=
"table-break" /><div class=
"section"><div class=
"titlepage"><div><div><h4 class=
"title"><a id=
"iso.2011.specific"></a>Implementation Specific Behavior
</h4></div></div></div><p>For behaviour which is also specified by the
1998 and
2003 standards,
219 see
<a class=
"link" href=
"status.html#iso.1998.specific" title=
"Implementation Specific Behavior">C++
1998/
2003 Implementation
220 Specific Behavior
</a>. This section only documents behaviour which
221 is new in the
2011 standard.
223 <span class=
"emphasis"><em>17.6.5.12 [res.on.exception.handling]
</em></span>
224 There are no implementation-defined exception classes, only standard
225 exception classes (or classes derived from them) will be thrown.
227 <span class=
"emphasis"><em>17.6.5.14 [value.error.codes]
</em></span>
228 The
<code class=
"classname">error_category
</code> for errors originating outside
229 the OS, and the possible error code values for each error category,
230 should be documented here.
232 <span class=
"emphasis"><em>18.6.2.2 [new.badlength]
</em></span>
233 <code class=
"function">what()
</code> returns
234 <code class=
"literal">"std::bad_array_new_length"</code>.
236 <span class=
"emphasis"><em>20.6.9.1 [allocator.member]/
5</em></span>
237 Over-aligned types are not supported by
238 <code class=
"classname">std::allocator
</code>.
240 <span class=
"emphasis"><em>20.7.2.2.1 [util.smartptr.shared.const]
</em></span>
241 When a
<code class=
"classname">shared_ptr
</code> constructor fails
242 <code class=
"classname">bad_alloc
</code> (or types derived from it) will
243 be thrown, or when an allocator is passed to the constructor then any
244 exceptions thrown by the allocator.
246 <span class=
"emphasis"><em>20.7.2.0 [util.smartptr.weakptr]
</em></span>
247 <code class=
"code">what()
</code> returns
<code class=
"literal">"bad_weak_ptr"</code>.
249 <span class=
"emphasis"><em>20.8.9.1.3 [func.bind.place]/
1</em></span> There are
29
250 placeholders defined and the placeholder types are
251 <code class=
"literal">CopyAssignable
</code>.
253 <span class=
"emphasis"><em>20.11.7.1 [time.clock.system]/
3, /
4</em></span>
254 Time point values are truncated to
<code class=
"code">time_t
</code> values.
255 There is no loss of precision for conversions in the other direction.
257 <span class=
"emphasis"><em>20.15.7 [meta.trans]/
2</em></span>
258 <code class=
"classname">aligned_storage
</code> does not support extended
261 <span class=
"emphasis"><em>21.2.3.2 [char.traits.specializations.char16_t]
</em></span>,
262 <span class=
"emphasis"><em>21.2.3.3 [char.traits.specializations.char32_t]
</em></span>
263 The types
<code class=
"classname">u16streampos
</code> and
264 <code class=
"classname">u32streampos
</code> are both synonyms for
265 <code class=
"classname">fpos
<mbstate_t
></code>.
266 The function
<code class=
"function">eof
</code> returns
<code class=
"code">int_type(-
1)
</code>.
268 <span class=
"emphasis"><em>22.3.1 [locale]
</em></span>
269 There is one global locale for the whole program, not per-thread.
271 <span class=
"emphasis"><em>22.4.5.1.2 [locale.time.get.virtuals]
</em></span>,
272 <span class=
"emphasis"><em>22.4.5.3.2 [locale.time.put.virtuals]
</em></span>
273 Additional supported formats should be documented here.
275 <span class=
"emphasis"><em> 22.4.7.1.2 [locale.messages.virtuals]
</em></span>
276 The mapping should be documented here.
278 <span class=
"emphasis"><em>23.3.2.1 [array.overview]
</em></span>
279 <code class=
"classname">array
<T, N
>::iterator
</code> is
<code class=
"code">T*
</code> and
280 <code class=
"classname">array
<T, N
>::const_iterator
</code> is
281 <code class=
"code">const T*
</code>.
283 <span class=
"emphasis"><em>23.5.4.2 [unord.map.cnstr]
</em></span>,
284 <span class=
"emphasis"><em>23.5.5.2 [unord.multimap.cnstr]
</em></span>,
285 <span class=
"emphasis"><em>23.5.6.2 [unord.set.cnstr]
</em></span>,
286 <span class=
"emphasis"><em>23.5.7.2 [unord.multiset.cnstr]
</em></span>
287 The default minimal bucket count is
0 for the default constructors, range
288 constructors and initializer-list constructors.
290 <span class=
"emphasis"><em>25.3.12 [alg.random.shuffle]
</em></span>
291 The two-argument overload of
<code class=
"function">random_shuffle
</code>
292 uses
<code class=
"function">rand
</code> as the source of randomness.
294 <span class=
"emphasis"><em>26.5.5 [rand.predef]
</em></span>
295 The type
<code class=
"classname">default_random_engine
</code> is a synonym for
296 <code class=
"classname">minstd_rand0
</code>.
298 <span class=
"emphasis"><em> 26.5.6 [rand.device]
</em></span>
299 The default
<code class=
"code">token
</code> argument to the
300 <code class=
"classname">random_device
</code> constructor is
301 <code class=
"literal">"default"</code>. Other valid arguments are
302 <code class=
"literal">"/dev/random"</code> and
<code class=
"literal">"/dev/urandom"</code>,
303 which determine the character special file to read random bytes from.
304 The
<code class=
"literal">"default"</code> token will read bytes from a hardware
305 RNG if available (currently this only supports the IA-
32 RDRAND
306 instruction) otherwise it is equivalent to
307 <code class=
"literal">"/dev/urandom"</code>.
308 An exception of type
<code class=
"classname">runtime_error
</code> will be
309 thrown if a
<code class=
"classname">random_device
</code> object cannot open
310 or read from the source of random bytes.
312 <span class=
"emphasis"><em>26.5.8.1 [rand.dist.general]
</em></span>
313 The algorithms used by the distributions should be documented here.
315 <span class=
"emphasis"><em>26.8 [c.math]
</em></span> Whether the
316 <code class=
"function">rand
</code> function introduces data races depends on
317 the C library as the function is not provided by libstdc++.
319 <span class=
"emphasis"><em>27.8.2.1 [stringbuf.cons]
</em></span>
320 Whether the sequence pointers are copied by the
321 <code class=
"classname">basic_stringbuf
</code> move constructor should be
324 <span class=
"emphasis"><em>27.9.1.2 [filebuf.cons]
</em></span>
325 Whether the sequence pointers are copied by the
326 <code class=
"classname">basic_filebuf
</code> move constructor should be
329 <span class=
"emphasis"><em>28.5.1 [re.synopt]
</em></span>,
330 <span class=
"emphasis"><em> 28.5.2 [re.matchflag]
</em></span>,
331 <span class=
"emphasis"><em> 28.5.3 [re.err]
</em></span>
332 <code class=
"code">syntax_option_type
</code>,
<code class=
"code">match_flag_type
</code>
333 and
<code class=
"code">error_type
</code> are unscoped enumeration types.
335 <span class=
"emphasis"><em>28.7 [re.traits]
</em></span>
336 The
<code class=
"literal">blank
</code> character class corresponds to the
337 <code class=
"code">ctype_base::blank
</code> mask.
339 <span class=
"emphasis"><em>29.4 [atomics.lockfree]
</em></span>
340 The values of the
<code class=
"code">ATOMIC_xxx_LOCK_FREE
</code> macros depend on
341 the target and cannot be listed here.
343 <span class=
"emphasis"><em>30.2.3 [thread.req.native]/
1</em></span>
344 <code class=
"classname">native_handle_type
</code> and
345 <code class=
"methodname">native_handle
</code> are provided. The handle types
346 are defined in terms of the Gthreads abstraction layer, although this
347 is subject to change at any time. Any use of
348 <code class=
"classname">native_handle
</code> is inherently non-portable and
349 not guaranteed to work between major releases of GCC.
350 </p><div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; "><li class=
"listitem"><p><code class=
"classname">thread
</code>: The native handle type is
351 a typedef for
<code class=
"code">__gthread_t
</code> i.e.
<code class=
"code">pthread_t
</code>
352 when GCC is configured with the
<code class=
"literal">posix
</code> thread
353 model. The value of the native handle is undefined for a thread
354 which is not joinable.
355 </p></li><li class=
"listitem"><p><code class=
"classname">mutex
</code> and
356 <code class=
"classname">timed_mutex
</code>:
357 The native handle type is
<code class=
"code">__gthread_mutex_t*
</code> i.e.
358 <code class=
"code">pthread_mutex_t*
</code> for the
<code class=
"literal">posix
</code>
360 </p></li><li class=
"listitem"><p><code class=
"classname">recursive_mutex
</code> and
361 <code class=
"classname">recursive_timed_mutex
</code>:
362 The native handle type is
<code class=
"code">__gthread_recursive_mutex_t*
</code>
363 i.e.
<code class=
"code">pthread_mutex_t*
</code> for the
<code class=
"literal">posix
</code>
365 </p></li><li class=
"listitem"><p><code class=
"classname">condition_variable
</code>: The native
366 handle type is
<code class=
"code">__gthread_cond_t*
</code> i.e.
367 <code class=
"code">pthread_cond_t*
</code> for the
<code class=
"literal">posix
</code>
369 </p></li></ul></div><p>
371 <span class=
"emphasis"><em>30.6.1 [futures.overview]/
2</em></span>
372 <code class=
"code">launch
</code> is a scoped enumeration type with
373 overloaded operators to support bitmask operations. There are no
374 additional bitmask elements defined.
375 </p></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.2014"></a>C++
2014</h3></div></div></div><p>
376 In this implementation the
<code class=
"literal">-std=gnu++
14</code> or
377 <code class=
"literal">-std=c++
14</code> flag must be used to enable language
379 features. See
<a class=
"link" href=
"using.html#manual.intro.using.flags" title=
"Command Options">dialect
</a>
380 options. The pre-defined symbol
381 <code class=
"constant">__cplusplus
</code> is used to check for the
382 presence of the required flag.
384 This page describes the C++
14 and library TS support in mainline GCC SVN,
385 not in any particular release.
386 </p><div class=
"table"><a id=
"table.cxx14_status"></a><p class=
"title"><strong>Table
1.3. C++
2014 Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ 2014 Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Paper
</th><th align=
"left">Title
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left">
387 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3669.pdf" target=
"_top">
390 </td><td align=
"left">Fixing constexpr member functions without const
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
391 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html" target=
"_top">
394 </td><td align=
"left"><code class=
"code">exchange()
</code> utility function
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
395 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3670.html" target=
"_top">
398 </td><td align=
"left">Wording for Addressing Tuples by Type
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
399 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3656.htm" target=
"_top">
402 </td><td align=
"left"><code class=
"code">make_unique
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
403 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3462.html" target=
"_top">
406 </td><td align=
"left"><code class=
"code">std::result_of
</code> and SFINAE
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
407 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3545.pdf" target=
"_top">
410 </td><td align=
"left">An Incremental Improvement to
<code class=
"code">integral_constant
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
411 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3642.pdf" target=
"_top">
414 </td><td align=
"left">User-defined Literals for Standard Library Types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
415 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3671.html" target=
"_top">
418 </td><td align=
"left">Making non-modifying sequence operations more robust
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
419 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3654.html" target=
"_top">
422 </td><td align=
"left">Quoted Strings Library Proposal
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
423 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3469.html" target=
"_top">
426 </td><td align=
"left">Constexpr Library Additions: chrono
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
427 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3470.html" target=
"_top">
430 </td><td align=
"left">Constexpr Library Additions: containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
431 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3471.html" target=
"_top">
434 </td><td align=
"left">Constexpr Library Additions: utilities
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
435 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3658.html" target=
"_top">
438 </td><td align=
"left">Compile-time integer sequences
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
439 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html" target=
"_top">
442 </td><td align=
"left">Shared Locking in C++
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
443 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm" target=
"_top">
446 </td><td align=
"left">Making Operator Functors greater
<></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
447 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3657.htm" target=
"_top">
450 </td><td align=
"left">Adding heterogeneous comparison lookup to associative containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">
451 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3655.pdf" target=
"_top">
454 </td><td align=
"left">TransformationTraits Redux
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">
455 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3644.pdf" target=
"_top">
458 </td><td align=
"left">Null Forward Iterators
</td><td align=
"left">Partial
</td><td align=
"left">Only affects Debug Mode
</td></tr></tbody></table></div></div><br class=
"table-break" /><div class=
"table"><a id=
"table.ts_status"></a><p class=
"title"><strong>Table
1.4. C++ Technical Specifications Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ Technical Specifications Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Paper
</th><th align=
"left">Title
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr bgcolor=
"#C8B0B0"><td align=
"left">
459 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html" target=
"_top">
462 </td><td align=
"left">C++ Dynamic Arrays
</td><td align=
"left">N
</td><td align=
"left">Array Extensions TS
</td></tr><tr><td align=
"left">
463 <a class=
"link" href=
"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3793.html" target=
"_top">
466 </td><td align=
"left">A proposal to add a utility class to represent optional objects
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
467 <a class=
"link" href=
"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3804.html" target=
"_top">
470 </td><td align=
"left">Any library proposal
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">
471 <a class=
"link" href=
"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html" target=
"_top">
474 </td><td align=
"left">Invocation type traits, but dropping function_call_operator.
</td><td align=
"left">N
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
475 <a class=
"link" href=
"" target=
"_top">
478 </td><td align=
"left">Faster string searching (Boyer-Moore et al.)
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
479 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3915.pdf" target=
"_top">
482 </td><td align=
"left">apply() call a function with arguments from a tuple
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">
483 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3916.pdf" target=
"_top">
486 </td><td align=
"left">Polymorphic memory resources
</td><td align=
"left">Partial
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
487 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3920.html" target=
"_top">
490 </td><td align=
"left">Extending shared_ptr to support arrays
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
491 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html" target=
"_top">
494 </td><td align=
"left"><code class=
"code">string_view
</code>: a non-owning reference to a string
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
495 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3925.pdf" target=
"_top">
498 </td><td align=
"left">A sample proposal
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
499 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm" target=
"_top">
502 </td><td align=
"left">Variable Templates For Type Traits
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals TS
</td></tr><tr><td align=
"left">
503 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf" target=
"_top">
506 </td><td align=
"left">File System
</td><td align=
"left">Y
</td><td align=
"left">
508 <a class=
"link" href=
"using_dynamic_or_shared.html#manual.intro.using.linkage.experimental" title=
"Experimental Library Extensions">
509 <code class=
"option">-lstdc++fs
</code></a>
510 </td></tr></tbody></table></div></div><br class=
"table-break" /></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.201z"></a>C++
201z
</h3></div></div></div><p>
511 In this implementation the
<code class=
"literal">-std=gnu++
1z
</code> or
512 <code class=
"literal">-std=c++
1z
</code> flag must be used to enable language
514 features. See
<a class=
"link" href=
"using.html#manual.intro.using.flags" title=
"Command Options">dialect
</a>
515 options. The pre-defined symbol
516 <code class=
"constant">__cplusplus
</code> is used to check for the
517 presence of the required flag.
519 This section describes the C++
1z and library TS support in mainline GCC SVN,
520 not in any particular release.
522 The following table lists new library features that have been accepted into
523 the C++
1z working draft. The
"Proposal" column provides a link to the
524 ISO C++ committee proposal that describes the feature, while the
"Status"
525 column indicates the first version of GCC that contains an implementation of
526 this feature (if it has been implemented).
527 The
"SD-6 Feature Test" column shows the corresponding macro or header from
528 <a class=
"link" href=
"https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations" target=
"_top">SD-
6:
529 Feature-testing recommendations for C++
</a>.
530 </p><div class=
"table"><a id=
"table.cxx1z_status"></a><p class=
"title"><strong>Table
1.5. C++
201z Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ 201z Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Library Feature
</th><th align=
"left">Proposal
</th><th align=
"left">Status
</th><th align=
"left">SD-
6 Feature Test
</th></tr></thead><tbody><tr bgcolor=
"#C8B0B0"><td align=
"left">
531 <code class=
"code">constexpr std::hardware_{constructive,destructive}_interference_size
</code>
532 </td><td align=
"left">
533 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html" target=
"_top">
536 </td><td align=
"center"> No
</td><td align=
"left"> <code class=
"code">__cpp_lib_hardware_interference_size
>=
201603</code> </td></tr><tr><td align=
"left"> Core Issue
1776: Replacement of class objects containing reference members
</td><td align=
"left">
537 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0137r1.html" target=
"_top">
540 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__cpp_lib_launder
>=
201606</code> </td></tr><tr><td align=
"left">Wording for
<code class=
"code">std::uncaught_exceptions
</code></td><td align=
"left">
541 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf" target=
"_top">
544 </td><td align=
"center">6.1</td><td align=
"left"><code class=
"code">__cpp_lib_uncaught_exceptions
>=
201411</code></td></tr><tr><td align=
"left"> Variant: a type-safe union for C++
17 </td><td align=
"left">
545 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r3.html" target=
"_top">
548 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__has_include(
<variant
>)
</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">optional
</code> </td><td align=
"left">
549 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
552 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__has_include(
<optional
>)
</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">any
</code> </td><td align=
"left">
553 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
556 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__has_include(
<any
>)
</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">string_view
</code> </td><td align=
"left">
557 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
560 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__has_include(
<string_view
>)
</code> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">memory_resource
</code> </td><td align=
"left">
561 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
564 </td><td align=
"center"> No
</td><td align=
"left"> <code class=
"code">__has_include(
<memory_resource
>)
</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">apply
</code> </td><td align=
"left">
565 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
568 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__cpp_lib_apply
>=
201603</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components:
<code class=
"code">shared_ptr
<T[]
></code> </td><td align=
"left">
569 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
572 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__cpp_lib_shared_ptr_arrays
>=
201603</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components: Searchers
</td><td align=
"left">
573 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
576 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__cpp_lib_boyer_moore_searcher
>=
201603</code> </td></tr><tr><td align=
"left"> Library Fundamentals V1 TS Components: Sampling
</td><td align=
"left">
577 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target=
"_top">
580 </td><td align=
"center"> 7 </td><td align=
"left"> <code class=
"code">__cpp_lib_sample
>=
201603</code> </td></tr><tr><td align=
"left"> Constant View: A proposal for a
<code class=
"code">std::as_const
</code> helper function template
</td><td align=
"left">
581 <a class=
"link" href=
"" target=
"_top">
584 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_as_const
>=
201510 </code></td></tr><tr><td align=
"left"> Improving pair and tuple
</td><td align=
"left">
585 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387" target=
"_top">
588 </td><td align=
"center"> 6.1 </td><td align=
"left"> N/A
</td></tr><tr><td align=
"left"> <code class=
"code">make_from_tuple
</code>: apply for construction
</td><td align=
"left">
589 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0209r2.pdf" target=
"_top">
592 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_make_from_tuple
>=
201606 </code></td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">
593 Removing
<code class=
"code">auto_ptr
</code>,
<code class=
"code">random_shuffle()
</code>,
594 And Old
<code class=
"code"><functional
></code> Stuff
595 </td><td align=
"left">
596 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm" target=
"_top">
599 </td><td align=
"center">No (kept for backwards compatibility)
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> Deprecating Vestigial Library Parts in C++
17 </td><td align=
"left">
600 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html" target=
"_top">
603 </td><td align=
"center"> No
</td><td align=
"left"> </td></tr><tr><td align=
"left"> Making
<code class=
"code">std::owner_less
</code> more flexible
</td><td align=
"left">
604 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0074r0.html" target=
"_top">
607 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_transparent_operators
>=
201510 </code></td></tr><tr><td align=
"left"> <code class=
"code">std::addressof
</code> should be constexpr
</td><td align=
"left">
608 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0304r0.html#2296" target=
"_top">
611 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_addressof_constexpr
>=
201603 </code></td></tr><tr><td align=
"left"> Safe conversions in
<code class=
"code">unique_ptr
<T[]
></code> </td><td align=
"left">
612 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089.pdf" target=
"_top">
615 </td><td align=
"center"> 6 </td><td align=
"left"> </td></tr><tr><td align=
"left"> LWG
2228: Missing SFINAE rule in unique_ptr templated assignment
</td><td align=
"left">
616 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html" target=
"_top">
619 </td><td align=
"center"> 6 </td><td align=
"left"> </td></tr><tr><td align=
"left"> Re-enabling
<code class=
"code">shared_from_this
</code></td><td align=
"left">
620 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html" target=
"_top">
623 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code">__cpp_lib_enable_shared_from_this
>=
201603</code></td></tr><tr><td align=
"left"> A proposal to add
<code class=
"code">invoke
</code> function template
</td><td align=
"left">
624 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html" target=
"_top">
627 </td><td align=
"center"> 6.1 </td><td align=
"left"><code class=
"code"> __cpp_lib_invoke
>=
201411 </code></td></tr><tr><td align=
"left">TriviallyCopyable
<code class=
"code">reference_wrapper
</code> </td><td align=
"left">
628 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4277.html" target=
"_top">
631 </td><td align=
"center"> 5.1 </td><td align=
"left"> </td></tr><tr><td align=
"left"> Adopt
<code class=
"code">not_fn
</code> from Library Fundamentals
2 for C++
17 </td><td align=
"left">
632 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0005r4.html" target=
"_top">
635 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code">__cpp_lib_not_fn
>=
201603</code></td></tr><tr><td align=
"left"> Fixes for
<code class=
"code">not_fn
</code> </td><td align=
"left">
636 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0358r1.html" target=
"_top">
639 </td><td align=
"center"> 7 </td><td align=
"left"> </td></tr><tr><td align=
"left"> Fixing a design mistake in the searchers interface in Library Fundamentals
</td><td align=
"left">
640 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0253r1.pdf" target=
"_top">
643 </td><td align=
"center"> 7 </td><td align=
"left"> </td></tr><tr><td align=
"left"> Extending memory management tools
</td><td align=
"left">
644 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0040r3.html" target=
"_top">
647 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> </code></td></tr><tr><td align=
"left"> <code class=
"code">shared_ptr::weak_type
</code></td><td align=
"left">
648 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0163r0.html" target=
"_top">
651 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_shared_ptr_weak_type
>=
201606</code></td></tr><tr><td align=
"left">Transformation Trait Alias
<code class=
"code">void_t
</code></td><td align=
"left">
652 <a class=
"link" href=
"http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n3911.pdf" target=
"_top">
655 </td><td align=
"center">6.1</td><td align=
"left"><code class=
"code"> __cpp_lib_void_t
>=
201411</code></td></tr><tr><td align=
"left"> Wording for
<code class=
"code">bool_constant
</code>, revision
1 </td><td align=
"left">
656 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html" target=
"_top">
659 </td><td align=
"center">6.1</td><td align=
"left"><code class=
"code"> __cpp_lib_bool_constant
>=
201505</code></td></tr><tr><td align=
"left"> Adopt Type Traits Variable Templates from Library Fundamentals TS for C++
17</td><td align=
"left">
660 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0006r0.html" target=
"_top">
663 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_type_trait_variable_templates
>=
201510 </code></td></tr><tr><td align=
"left"> Logical Operator Type Traits
</td><td align=
"left">
664 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0013r1.html" target=
"_top">
667 </td><td align=
"center"> 6.1 </td><td align=
"left"><code class=
"code"> __cpp_lib_logical_traits
>=
201510 </code></td></tr><tr><td align=
"left"> Adding [nothrow-]swappable traits
</td><td align=
"left">
668 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html" target=
"_top">
671 </td><td align=
"center"> 7 (
<code class=
"code">__is_swappable
</code> available since
6.1)
</td><td align=
"left"><code class=
"code"> __cpp_lib_is_swappable
>=
201603 </code></td></tr><tr><td align=
"left"> <code class=
"code">is_callable
</code>, the missing INVOKE related trait
</td><td align=
"left">
672 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0077r2.html" target=
"_top">
675 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_is_callable
>=
201603 </code></td></tr><tr><td align=
"left"> has_unique_object_representations
</td><td align=
"left">
676 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0258r2.html" target=
"_top">
679 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_has_unique_object_representations
>=
201606 </code></td></tr><tr><td align=
"left"> Polishing
<code class=
"code"><chrono
></code> </td><td align=
"left">
680 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0092r1.html" target=
"_top">
683 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_chrono
>=
201510 </code></td></tr><tr><td align=
"left"> Adding more constexpr to
<code class=
"code"><chrono
></code> </td><td align=
"left">
684 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0505r0.html" target=
"_top">
687 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> ???
</code></td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left"> Constexpr for
<code class=
"code">std::char_traits
</code> </td><td align=
"left">
688 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0426r1.html" target=
"_top">
691 </td><td align=
"center"> 7 (partial)
</td><td align=
"left"><code class=
"code"> ???
</code></td></tr><tr><td align=
"left"> Integrating
<code class=
"code">std::string_view
</code> and
<code class=
"code">std::string
</code> </td><td align=
"left">
692 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf" target=
"_top">
695 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> </code></td></tr><tr><td align=
"left"> Give 'std::string' a non-const '.data()' member function
</td><td align=
"left">
696 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0272r1.html" target=
"_top">
699 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> </code></td></tr><tr><td align=
"left">Cleaning-up noexcept in the Library
</td><td align=
"left">
700 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4258.pdf" target=
"_top">
703 </td><td align=
"center">6.1</td><td align=
"left"><code class=
"code"> __cpp_lib_allocator_traits_is_always_equal
>=
201411 </code></td></tr><tr><td align=
"left">Contiguous Iterators
</td><td align=
"left">
704 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.html" target=
"_top">
707 </td><td align=
"center">N/A
</td><td align=
"left"> </td></tr><tr><td align=
"left"> Minimal incomplete type support for standard containers
</td><td align=
"left">
708 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html" target=
"_top">
711 </td><td align=
"center"> 6.2 (
3.0)
</td><td align=
"left"><code class=
"code"> __cpp_lib_incomplete_container_elements
>=
201505 </code>
712 (the feature was always supported, but the macro was not defined until GCC
6.2)
713 </td></tr><tr><td align=
"left"> Emplace return type
</td><td align=
"left">
714 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf" target=
"_top">
717 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> ???
</code></td></tr><tr><td align=
"left">Improved insertion interface for unique-key maps
</td><td align=
"left">
718 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.html" target=
"_top">
721 </td><td align=
"center"> 6.1 </td><td align=
"left"><code class=
"code"> __cpp_lib_map_try_emplace
>=
201411</code>,
722 <code class=
"code"> __cpp_lib_unordered_map_try_emplace
>=
201411</code>
723 </td></tr><tr><td align=
"left"> Splicing Maps and Sets
</td><td align=
"left">
724 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf" target=
"_top">
727 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_node_extract
>=
201606 </code></td></tr><tr><td align=
"left">Non-member
<code class=
"code">size()
</code> and more
</td><td align=
"left">
728 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf" target=
"_top">
731 </td><td align=
"center"> 6.1 </td><td align=
"left"><code class=
"code"> __cpp_lib_nonmember_container_access
>=
201411 </code></td></tr><tr><td align=
"left"> A Proposal to Add Constexpr Modifiers to
<code class=
"code">reverse_iterator
</code>,
<code class=
"code">move_iterator
</code>,
<code class=
"code">array
</code> and Range Access
</td><td align=
"left">
732 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html" target=
"_top">
735 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_array_constexpr
>=
201603 </code></td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> The Parallelism TS Should be Standardized
</td><td align=
"left">
736 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html" target=
"_top">
739 </td><td align=
"center"> No
</td><td align=
"left"><code class=
"code"> __has_include(
<execution
>)
</code>,
740 <code class=
"code"> __cpp_lib_parallel_algorithm
>=
201603 </code></td></tr><tr><td align=
"left"> An algorithm to
"clamp" a value between a pair of boundary values
</td><td align=
"left">
741 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0025r0.html" target=
"_top">
744 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_clamp
>=
201603 </code></td></tr><tr><td align=
"left"> Adopt Selected Library Fundamentals V2 Components for C++
17 </td><td align=
"left">
745 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0295r0.pdf" target=
"_top">
748 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_gcd
>=
201606 </code>,
749 <code class=
"code"> __cpp_lib_lcm
>=
201606 </code>
750 </td></tr><tr><td align=
"left"> Proposal to Introduce a
3-Argument Overload to
<code class=
"code">std::hypot
</code> </td><td align=
"left">
751 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0030r1.pdf" target=
"_top">
754 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_hypot
>=
201603 </code></td></tr><tr><td align=
"left"> Mathematical Special Functions for C++
17 </td><td align=
"left">
755 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf" target=
"_top">
758 </td><td align=
"center"> 7 (
6.1)
</td><td align=
"left"><code class=
"code"> __cpp_lib_math_special_functions
>=
201603 </code>
759 (for GCC
6 or pre-C++
17 define
760 <code class=
"code">__STDCPP_WANT_MATH_SPEC_FUNCS__
</code> to a non-zero value
761 and test for
<code class=
"code">__STDCPP_MATH_SPEC_FUNCS__
>=
201003L</code>)
762 </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">Adopt the File System TS for C++
17 </td><td align=
"left">
763 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html" target=
"_top">
766 </td><td align=
"center"> No
</td><td align=
"left"><code class=
"code"> __has_include(
<filesystem
>)
</code>,
767 <code class=
"code"> __cpp_lib_filesystem
>=
201603 </code></td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> Relative Paths for Filesystem
</td><td align=
"left">
768 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html" target=
"_top">
771 </td><td align=
"center"> No
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> Adapting string_view by filesystem paths
</td><td align=
"left">
772 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf" target=
"_top">
775 </td><td align=
"center"> No
</td><td align=
"left"> </td></tr><tr><td align=
"left"> constexpr
<code class=
"code">atomic
<T
>::is_always_lock_free
</code> </td><td align=
"left">
776 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html" target=
"_top">
779 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_atomic_is_always_lock_free
>=
201603 </code></td></tr><tr><td align=
"left">A proposal to add
<code class=
"code">shared_mutex
</code> (untimed) (Revision
4)
</td><td align=
"left">
780 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html" target=
"_top">
783 </td><td align=
"center"> 6.1 </td><td align=
"left"><code class=
"code"> __cpp_lib_shared_mutex
>=
201505 </code></td></tr><tr><td align=
"left"> Variadic
<code class=
"code">lock_guard
</code> </td><td align=
"left">
784 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0156r2.html" target=
"_top">
787 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> __cpp_lib_scoped_lock
>=
201703 </code></td></tr><tr><td align=
"left"> byte type definition
</td><td align=
"left">
788 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0298r3.pdf" target=
"_top">
791 </td><td align=
"center"> 7 </td><td align=
"left"><code class=
"code"> ???
</code></td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left"> Elementary string conversions
</td><td align=
"left">
792 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html" target=
"_top">
795 </td><td align=
"center"> No
</td><td align=
"left"><code class=
"code"> ???
</code></td></tr></tbody></table></div></div><br class=
"table-break" /><div class=
"table"><a id=
"table.cxx1z_ts_status"></a><p class=
"title"><strong>Table
1.6. C++ Technical Specifications Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ Technical Specifications Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Paper
</th><th align=
"left">Title
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left">
796 <a class=
"link" href=
"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html" target=
"_top">
799 </td><td align=
"left">A generalized callable negator
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
800 <a class=
"link" href=
"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4273.htm" target=
"_top">
803 </td><td align=
"left">Uniform Container Erasure
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
804 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4061.pdf" target=
"_top">
807 </td><td align=
"left">Greatest Common Divisor and Least Common Multiple
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
808 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4066.htm" target=
"_top">
811 </td><td align=
"left">Delimited iterators
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
812 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf" target=
"_top">
815 </td><td align=
"left">The World's Dumbest Smart Pointer
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
816 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html" target=
"_top">
819 </td><td align=
"left">Const-Propagating Wrapper
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
820 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html" target=
"_top">
823 </td><td align=
"left"> <code class=
"code">make_array
</code>, revision
4 </td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
824 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf" target=
"_top">
827 </td><td align=
"left"> Support for the C++ Detection Idiom, V2
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
828 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf" target=
"_top">
831 </td><td align=
"left"> Source-Code Information Capture
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">
832 <a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target=
"_top">
835 </td><td align=
"left"> Merge Fundamentals V1 into V2
</td><td align=
"left">N
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr><tr><td align=
"left">
836 <a class=
"link" href=
"http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0013r1.html" target=
"_top">
839 </td><td align=
"left">Logical Operator Type Traits (revision
1)
</td><td align=
"left">Y
</td><td align=
"left">Library Fundamentals
2 TS
</td></tr></tbody></table></div></div><br class=
"table-break" /><div class=
"section"><div class=
"titlepage"><div><div><h4 class=
"title"><a id=
"iso.2017.specific"></a>Implementation Specific Behavior
</h4></div></div></div><p>For behaviour which is also specified by previous standards,
840 see
<a class=
"link" href=
"status.html#iso.1998.specific" title=
"Implementation Specific Behavior">C++
1998/
2003 Implementation
841 Specific Behavior
</a> and
<a class=
"link" href=
"status.html#iso.2011.specific" title=
"Implementation Specific Behavior">C++
842 2011 Implementation Specific Behavior
</a>. This section only
843 documents behaviour which is new in the
2017 standard.
845 <span class=
"emphasis"><em>20.6.5 [optional.bad_optional_access]
</em></span>
846 <code class=
"code">what()
</code> returns
<code class=
"literal">"bad optional access"</code>.
848 <span class=
"emphasis"><em>20.7.2 [variant.variant]
</em></span>
849 Whether
<code class=
"classname">variant
</code> supports over-aligned types
850 should be documented here.
852 <span class=
"emphasis"><em>20.7.10 [variant.bad.access]
</em></span>
853 <code class=
"code">what()
</code> returns
<code class=
"literal">"Unexpected index"</code>.
855 <span class=
"emphasis"><em>20.12.5.2 [memory.resource.pool.options]
</em></span>
856 The limits for maximum number of blocks and largest allocation size
857 supported by
<code class=
"classname">pool_options
</code> should be documented
860 <span class=
"emphasis"><em>20.12.6.1 [memory.resource.monotonic.buffer.ctor]
</em></span>
861 The default
<code class=
"code">next_buffer_size
</code> and growth factor should
864 <span class=
"emphasis"><em>20.15.4.3 [meta.unary.prop]
</em></span>
865 The predicate condition for
866 <code class=
"code">has_unique_object_representations
</code> is true for all scalar
867 types except floating point types.
869 <span class=
"emphasis"><em>20.19.3 [execpol.type],
870 25.2.3 [algorithms.parallel.exec]
</em></span>
871 There are no implementation-defined execution policies.
873 <span class=
"emphasis"><em>22.4.2 [string.view.template]
</em></span>
874 <code class=
"classname">basic_string_view
<C, T
>::iterator
</code> is
875 <code class=
"code">C*
</code> and
876 <code class=
"classname">basic_string_view
<C, T
>::const_iterator
</code> is
877 <code class=
"code">const C*
</code>.
879 <span class=
"emphasis"><em>25.2.3 [algorithms.parallel.exec]
</em></span>
880 Threads of execution created by
<code class=
"classname">std::thread
</code>
881 provide concurrent forward progress guarantees, so threads of execution
882 implicitly created by the library will provide parallel forward
885 <span class=
"emphasis"><em>26.4.1 [cfenv.syn]
</em></span>
886 The effects of the
<code class=
"filename"><cfenv
></code> functions
887 depends on whether the
<code class=
"code">FENV_ACCESS
</code> pragma is supported,
888 and on the C library that provides the header.
890 <span class=
"emphasis"><em>26.6.9 [c.math.rand]
</em></span>
891 Whether the
<code class=
"function">rand
</code> function may introduce data
892 races depends on the target C library that provides the function.
894 <span class=
"emphasis"><em>26.9.5 [sf.cmath]
</em></span>
895 The effect of calling the mathematical special functions with large
896 inputs should be documented here.
898 <span class=
"emphasis"><em>27.10.2.1 [fs.conform
.9945]
</em></span>
899 The behavior of the filesystem library implementation will depend on
900 the target operating system. Some features will not be not supported
903 <span class=
"emphasis"><em>27.10.6 [fs.filesystem.syn]
</em></span>
904 The clock used for file times is
905 <code class=
"classname">std::chrono::system_clock
</code>.
907 <span class=
"emphasis"><em>27.10.8 [path.generic]
</em></span>
908 dot-dot in the root-directory refers to the root-directory itself.
909 </p></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.tr1"></a>C++ TR1
</h3></div></div></div><p>
910 This table is based on the table of contents of ISO/IEC DTR
19768
911 Doc No: N1836=
05-
0096 Date:
2005-
06-
24
912 Draft Technical Report on C++ Library Extensions
914 In this implementation the header names are prefixed by
915 <code class=
"code">tr1/
</code>, for instance
<code class=
"code"><tr1/functional
></code>,
916 <code class=
"code"><tr1/memory
></code>, and so on.
918 This page describes the TR1 support in mainline GCC SVN, not in any particular
920 </p><div class=
"table"><a id=
"table.tr1_status"></a><p class=
"title"><strong>Table
1.7. C++ TR1 Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ TR1 Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Section
</th><th align=
"left">Description
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left"><span class=
"emphasis"><em>2</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>General Utilities
</em></span></td></tr><tr><td align=
"left">2.1</td><td align=
"left">Reference wrappers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.1</td><td align=
"left">Additions to header
<code class=
"code"><functional
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2</td><td align=
"left">Class template
<code class=
"code">reference_wrapper
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2.1</td><td align=
"left"><code class=
"code">reference_wrapper
</code> construct/copy/destroy
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2.2</td><td align=
"left"><code class=
"code">reference_wrapper
</code> assignment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2.3</td><td align=
"left"><code class=
"code">reference_wrapper
</code> access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2.4</td><td align=
"left"><code class=
"code">reference_wrapper
</code> invocation
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.1.2.5</td><td align=
"left"><code class=
"code">reference_wrapper
</code> helper functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2</td><td align=
"left">Smart pointers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.1</td><td align=
"left">Additions to header
<code class=
"code"><memory
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.2</td><td align=
"left">Class
<code class=
"code">bad_weak_ptr
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3</td><td align=
"left">Class template
<code class=
"code">shared_ptr
</code></td><td align=
"left"> </td><td align=
"left">
923 <a class=
"link" href=
"http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target=
"_top">boost::shared_ptr
</a>.
925 </td></tr><tr><td align=
"left">2.2.3.1</td><td align=
"left"><code class=
"code">shared_ptr
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.2</td><td align=
"left"><code class=
"code">shared_ptr
</code> destructor
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.3</td><td align=
"left"><code class=
"code">shared_ptr
</code> assignment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.4</td><td align=
"left"><code class=
"code">shared_ptr
</code> modifiers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.5</td><td align=
"left"><code class=
"code">shared_ptr
</code> observers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.6</td><td align=
"left"><code class=
"code">shared_ptr
</code> comparison
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.7</td><td align=
"left"><code class=
"code">shared_ptr
</code> I/O
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.8</td><td align=
"left"><code class=
"code">shared_ptr
</code> specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.9</td><td align=
"left"><code class=
"code">shared_ptr
</code> casts
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.3.10</td><td align=
"left"><code class=
"code">get_deleter
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4</td><td align=
"left">Class template
<code class=
"code">weak_ptr
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.1</td><td align=
"left"><code class=
"code">weak_ptr
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.2</td><td align=
"left"><code class=
"code">weak_ptr
</code> destructor
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.3</td><td align=
"left"><code class=
"code">weak_ptr
</code> assignment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.4</td><td align=
"left"><code class=
"code">weak_ptr
</code> modifiers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.5</td><td align=
"left"><code class=
"code">weak_ptr
</code> observers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.6</td><td align=
"left"><code class=
"code">weak_ptr
</code> comparison
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.4.7</td><td align=
"left"><code class=
"code">weak_ptr
</code> specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">2.2.5</td><td align=
"left">Class template
<code class=
"code">enable_shared_from_this
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>3</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>Function Objects
</em></span></td></tr><tr><td align=
"left">3.1</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.2</td><td align=
"left">Additions to
<code class=
"code"><functional
> synopsis
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.3</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4</td><td align=
"left">Function return types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.5</td><td align=
"left">Function template
<code class=
"code">mem_fn
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.6</td><td align=
"left">Function object binders
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">3.6.1</td><td align=
"left">Class template
<code class=
"code">is_bind_expression
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.6.2</td><td align=
"left">Class template
<code class=
"code">is_placeholder
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.6.3</td><td align=
"left">Function template
<code class=
"code">bind
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.6.4</td><td align=
"left">Placeholders
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7</td><td align=
"left">Polymorphic function wrappers
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.1</td><td align=
"left">Class
<code class=
"code">bad_function_call
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.1.1</td><td align=
"left"><code class=
"code">bad_function_call
</code> constructor
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2</td><td align=
"left">Class template
<code class=
"code">function
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.1</td><td align=
"left"><code class=
"code">function
</code> construct/copy/destroy
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.2</td><td align=
"left"><code class=
"code">function
</code> modifiers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.3</td><td align=
"left"><code class=
"code">function
</code> capacity
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.4</td><td align=
"left"><code class=
"code">function
</code> invocation
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.5</td><td align=
"left"><code class=
"code">function
</code> target access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.6</td><td align=
"left">undefined operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.7</td><td align=
"left">null pointer comparison operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.7.2.8</td><td align=
"left">specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>4</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>Metaprogramming and type traits
</em></span></td></tr><tr><td align=
"left">4.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.2</td><td align=
"left">Header
<code class=
"code"><type_traits
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.3</td><td align=
"left">Helper classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.4</td><td align=
"left">General Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.5</td><td align=
"left">Unary Type Traits
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">4.5.1</td><td align=
"left">Primary Type Categories
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.5.2</td><td align=
"left">Composite type traits
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.5.3</td><td align=
"left">Type properties
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.6</td><td align=
"left">Relationships between types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.7</td><td align=
"left">Transformations between types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">4.7.1</td><td align=
"left">Const-volatile modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.7.2</td><td align=
"left">Reference modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.7.3</td><td align=
"left">Array modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.7.4</td><td align=
"left">Pointer modifications
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.8</td><td align=
"left">Other transformations
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">4.9</td><td align=
"left">Implementation requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>5</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>Numerical Facilities
</em></span></td></tr><tr><td align=
"left">5.1</td><td align=
"left">Random number generation
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.1</td><td align=
"left">Requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.2</td><td align=
"left">Header
<code class=
"code"><random
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.3</td><td align=
"left">Class template
<code class=
"code">variate_generator
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4</td><td align=
"left">Random number engine class templates
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.1</td><td align=
"left">Class template
<code class=
"code">linear_congruential
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.2</td><td align=
"left">Class template
<code class=
"code">mersenne_twister
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.3</td><td align=
"left">Class template
<code class=
"code">subtract_with_carry
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.4</td><td align=
"left">Class template
<code class=
"code">subtract_with_carry_01
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.5</td><td align=
"left">Class template
<code class=
"code">discard_block
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.4.6</td><td align=
"left">Class template
<code class=
"code">xor_combine
</code></td><td align=
"left">Y
</td><td align=
"left">operator()() per N2079
</td></tr><tr><td align=
"left">5.1.5</td><td align=
"left">Engines with predefined parameters
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.6</td><td align=
"left">Class
<code class=
"code">random_device
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7</td><td align=
"left">Random distribution class templates
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.1</td><td align=
"left">Class template
<code class=
"code">uniform_int
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.2</td><td align=
"left">Class
<code class=
"code">bernoulli_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.3</td><td align=
"left">Class template
<code class=
"code">geometric_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.4</td><td align=
"left">Class template
<code class=
"code">poisson_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.5</td><td align=
"left">Class template
<code class=
"code">binomial_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.6</td><td align=
"left">Class template
<code class=
"code">uniform_real
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.7</td><td align=
"left">Class template
<code class=
"code">exponential_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.8</td><td align=
"left">Class template
<code class=
"code">normal_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.1.7.9</td><td align=
"left">Class template
<code class=
"code">gamma_distribution
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2</td><td align=
"left">Mathematical special functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1</td><td align=
"left">Additions to header
<code class=
"code"><cmath
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.1</td><td align=
"left">associated Laguerre polynomials
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.2</td><td align=
"left">associated Legendre functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.3</td><td align=
"left">beta function
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.4</td><td align=
"left">(complete) elliptic integral of the first kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.5</td><td align=
"left">(complete) elliptic integral of the second kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.6</td><td align=
"left">(complete) elliptic integral of the third kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.7</td><td align=
"left">confluent hypergeometric functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.8</td><td align=
"left">regular modified cylindrical Bessel functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.9</td><td align=
"left">cylindrical Bessel functions (of the first kind)
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.10</td><td align=
"left">irregular modified cylindrical Bessel functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.11</td><td align=
"left">cylindrical Neumann functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.12</td><td align=
"left">(incomplete) elliptic integral of the first kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.13</td><td align=
"left">(incomplete) elliptic integral of the second kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.14</td><td align=
"left">(incomplete) elliptic integral of the third kind
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.15</td><td align=
"left">exponential integral
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.16</td><td align=
"left">Hermite polynomials
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.17</td><td align=
"left">hypergeometric functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.18</td><td align=
"left">Laguerre polynomials
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.19</td><td align=
"left">Legendre polynomials
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.20</td><td align=
"left">Riemann zeta function
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.21</td><td align=
"left">spherical Bessel functions (of the first kind)
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.22</td><td align=
"left">spherical associated Legendre functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.1.23</td><td align=
"left">spherical Neumann functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">5.2.2</td><td align=
"left">Additions to header
<code class=
"code"><math.h
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>6</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>Containers
</em></span></td></tr><tr><td align=
"left">6.1</td><td align=
"left">Tuple types
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.1</td><td align=
"left">Header
<code class=
"code"><tuple
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.2</td><td align=
"left">Additions to header
<code class=
"code"><utility
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3</td><td align=
"left">Class template
<code class=
"code">tuple
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3.1</td><td align=
"left">Construction
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3.2</td><td align=
"left">Tuple creation functions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3.3</td><td align=
"left">Tuple helper classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3.4</td><td align=
"left">Element access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.3.5</td><td align=
"left">Relational operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.1.4</td><td align=
"left">Pairs
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2</td><td align=
"left">Fixed size array
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.1</td><td align=
"left">Header
<code class=
"code"><array
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2</td><td align=
"left">Class template
<code class=
"code">array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2.1</td><td align=
"left"><code class=
"code">array
</code> constructors, copy, and assignment
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2.2</td><td align=
"left"><code class=
"code">array
</code> specialized algorithms
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2.3</td><td align=
"left"><code class=
"code">array
</code> size
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2.4</td><td align=
"left">Zero sized
<code class=
"code">array
</code>s
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.2.2.5</td><td align=
"left">Tuple interface to class template
<code class=
"code">array
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3</td><td align=
"left">Unordered associative containers
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.1</td><td align=
"left">Unordered associative container requirements
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.1.1</td><td align=
"left">Exception safety guarantees
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.2</td><td align=
"left">Additions to header
<code class=
"code"><functional
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.3</td><td align=
"left">Class template
<code class=
"code">hash
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4</td><td align=
"left">Unordered associative container classes
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.1</td><td align=
"left">Header
<code class=
"code"><unordered_set
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.2</td><td align=
"left">Header
<code class=
"code"><unordered_map
></code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.3</td><td align=
"left">Class template
<code class=
"code">unordered_set
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.3.1</td><td align=
"left"><code class=
"code">unordered_set
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.3.2</td><td align=
"left"><code class=
"code">unordered_set
</code> swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.4</td><td align=
"left">Class template
<code class=
"code">unordered_map
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.4.1</td><td align=
"left"><code class=
"code">unordered_map
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.4.2</td><td align=
"left"><code class=
"code">unordered_map
</code> element access
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.4.3</td><td align=
"left"><code class=
"code">unordered_map
</code> swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.5</td><td align=
"left">Class template
<code class=
"code">unordered_multiset
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.5.1</td><td align=
"left"><code class=
"code">unordered_multiset
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.5.2</td><td align=
"left"><code class=
"code">unordered_multiset
</code> swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.6</td><td align=
"left">Class template
<code class=
"code">unordered_multimap
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.6.1</td><td align=
"left"><code class=
"code">unordered_multimap
</code> constructors
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">6.3.4.6.2</td><td align=
"left"><code class=
"code">unordered_multimap
</code> swap
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>7</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>Regular Expressions
</em></span></td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.1</td><td align=
"left">Definitions
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.2</td><td align=
"left">Requirements
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.3</td><td align=
"left">Regular expressions summary
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.4</td><td align=
"left">Header
<code class=
"code"><regex
></code> synopsis
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.5</td><td align=
"left">Namespace
<code class=
"code">tr1::regex_constants
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.5.1</td><td align=
"left">Bitmask Type
<code class=
"code">syntax_option_type
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.5.2</td><td align=
"left">Bitmask Type
<code class=
"code">regex_constants::match_flag_type
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.5.3</td><td align=
"left">Implementation defined
<code class=
"code">error_type
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.6</td><td align=
"left">Class
<code class=
"code">regex_error
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.7</td><td align=
"left">Class template
<code class=
"code">regex_traits
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8</td><td align=
"left">Class template
<code class=
"code">basic_regex
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.1</td><td align=
"left"><code class=
"code">basic_regex
</code> constants
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.2</td><td align=
"left"><code class=
"code">basic_regex
</code> constructors
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.3</td><td align=
"left"><code class=
"code">basic_regex
</code> assign
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.4</td><td align=
"left"><code class=
"code">basic_regex
</code> constant operations
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.5</td><td align=
"left"><code class=
"code">basic_regex
</code> locale
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.6</td><td align=
"left"><code class=
"code">basic_regex
</code> swap
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.7</td><td align=
"left"><code class=
"code">basic_regex
</code> non-member functions
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.8.7.1</td><td align=
"left"><code class=
"code">basic_regex
</code> non-member swap
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.9</td><td align=
"left">Class template
<code class=
"code">sub_match
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.9.1</td><td align=
"left"><code class=
"code">sub_match
</code> members
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.9.2</td><td align=
"left"><code class=
"code">sub_match
</code> non-member operators
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10</td><td align=
"left">Class template
<code class=
"code">match_results
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.1</td><td align=
"left"><code class=
"code">match_results
</code> constructors
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.2</td><td align=
"left"><code class=
"code">match_results
</code> size
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.3</td><td align=
"left"><code class=
"code">match_results
</code> element access
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.4</td><td align=
"left"><code class=
"code">match_results
</code> formatting
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.5</td><td align=
"left"><code class=
"code">match_results
</code> allocator
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.10.6</td><td align=
"left"><code class=
"code">match_results
</code> swap
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.11</td><td align=
"left">Regular expression algorithms
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.11.1</td><td align=
"left">exceptions
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.11.2</td><td align=
"left"><code class=
"code">regex_match
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.11.3</td><td align=
"left"><code class=
"code">regex_search
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.11.4</td><td align=
"left"><code class=
"code">regex_replace
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12</td><td align=
"left">Regular expression Iterators
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.1</td><td align=
"left">Class template
<code class=
"code">regex_iterator
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.1.1</td><td align=
"left"><code class=
"code">regex_iterator
</code> constructors
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.1.2</td><td align=
"left"><code class=
"code">regex_iterator
</code> comparisons
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.1.3</td><td align=
"left"><code class=
"code">regex_iterator
</code> dereference
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.1.4</td><td align=
"left"><code class=
"code">regex_iterator
</code> increment
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.2</td><td align=
"left">Class template
<code class=
"code">regex_token_iterator
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.2.1</td><td align=
"left"><code class=
"code">regex_token_iterator
</code> constructors
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.2.2</td><td align=
"left"><code class=
"code">regex_token_iterator
</code> comparisons
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.2.3</td><td align=
"left"><code class=
"code">regex_token_iterator
</code> dereference
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.12.2.4</td><td align=
"left"><code class=
"code">regex_token_iterator
</code> increment
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">7.13</td><td align=
"left">Modified ECMAScript regular expression grammar
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left"><span class=
"emphasis"><em>8</em></span></td><td colspan=
"3" align=
"left"><span class=
"emphasis"><em>C Compatibility
</em></span></td></tr><tr><td align=
"left">8.1</td><td align=
"left">Additions to header
<code class=
"code"><complex
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.2</td><td align=
"left">Function
<code class=
"code">acos
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.3</td><td align=
"left">Function
<code class=
"code">asin
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.4</td><td align=
"left">Function
<code class=
"code">atan
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.5</td><td align=
"left">Function
<code class=
"code">acosh
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.6</td><td align=
"left">Function
<code class=
"code">asinh
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.7</td><td align=
"left">Function
<code class=
"code">atanh
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.8</td><td align=
"left">Function
<code class=
"code">fabs
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.1.9</td><td align=
"left">Additional Overloads
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.2</td><td align=
"left">Header
<code class=
"code"><ccomplex
></code></td><td align=
"left">N
</td><td align=
"left">DR
551</td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.3</td><td align=
"left">Header
<code class=
"code"><complex.h
></code></td><td align=
"left">N
</td><td align=
"left">DR
551</td></tr><tr><td align=
"left">8.4</td><td align=
"left">Additions to header
<code class=
"code"><cctype
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.4.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.4.2</td><td align=
"left">Function
<code class=
"code">isblank
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.5</td><td align=
"left">Additions to header
<code class=
"code"><ctype.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.6</td><td align=
"left">Header
<code class=
"code"><cfenv
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.6.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.6.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.7</td><td align=
"left">Header
<code class=
"code"><fenv.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.8</td><td align=
"left">Additions to header
<code class=
"code"><cfloat
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.9</td><td align=
"left">Additions to header
<code class=
"code"><float.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.10</td><td align=
"left">Additions to header
<code class=
"code"><ios
></code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.10.1</td><td align=
"left">Synopsis
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.10.2</td><td align=
"left">Function
<code class=
"code">hexfloat
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.11</td><td align=
"left">Header
<code class=
"code"><cinttypes
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.11.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left">DR
557</td></tr><tr><td align=
"left">8.11.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.12</td><td align=
"left">Header
<code class=
"code"><inttypes.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.13</td><td align=
"left">Additions to header
<code class=
"code"><climits
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.14</td><td align=
"left">Additions to header
<code class=
"code"><limits.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">8.15</td><td align=
"left">Additions to header
<code class=
"code"><locale
></code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.16</td><td align=
"left">Additions to header
<code class=
"code"><cmath
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.16.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.16.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.16.3</td><td align=
"left">Function template definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.16.4</td><td align=
"left">Additional overloads
</td><td align=
"left">Y
</td><td align=
"left">DR
568; DR
550</td></tr><tr><td align=
"left">8.17</td><td align=
"left">Additions to header
<code class=
"code"><math.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.18</td><td align=
"left">Additions to header
<code class=
"code"><cstdarg
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.19</td><td align=
"left">Additions to header
<code class=
"code"><stdarg.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.20</td><td align=
"left">The header
<code class=
"code"><cstdbool
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.21</td><td align=
"left">The header
<code class=
"code"><stdbool.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.22</td><td align=
"left">The header
<code class=
"code"><cstdint
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.22.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.22.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.23</td><td align=
"left">The header
<code class=
"code"><stdint.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.24</td><td align=
"left">Additions to header
<code class=
"code"><cstdio
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.24.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.24.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.24.3</td><td align=
"left">Additional format specifiers
</td><td align=
"left">Y
</td><td align=
"left">C library dependency
</td></tr><tr><td align=
"left">8.24.4</td><td align=
"left">Additions to header
<code class=
"code"><stdio.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.25</td><td align=
"left">Additions to header
<code class=
"code"><cstdlib
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.25.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.25.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.25.3</td><td align=
"left">Function
<code class=
"code">abs
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.25.4</td><td align=
"left">Function
<code class=
"code">div
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.26</td><td align=
"left">Additions to header
<code class=
"code"><stdlib.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.27</td><td align=
"left">Header
<code class=
"code"><ctgmath
></code></td><td align=
"left">Y
</td><td align=
"left">DR
551</td></tr><tr><td align=
"left">8.28</td><td align=
"left">Header
<code class=
"code"><tgmath.h
></code></td><td align=
"left">Y
</td><td align=
"left">DR
551</td></tr><tr><td align=
"left">8.29</td><td align=
"left">Additions to header
<code class=
"code"><ctime
></code></td><td align=
"left">Y
</td><td align=
"left">C library dependency
</td></tr><tr><td align=
"left">8.30</td><td align=
"left">Additions to header
<code class=
"code"><cwchar
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.30.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.30.2</td><td align=
"left">Definitions
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.30.3</td><td align=
"left">Additional wide format specifiers
</td><td align=
"left">Y
</td><td align=
"left">C library dependency
</td></tr><tr><td align=
"left">8.31</td><td align=
"left">Additions to header
<code class=
"code"><wchar.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.32</td><td align=
"left">Additions to header
<code class=
"code"><cwctype
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.32.1</td><td align=
"left">Synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.32.2</td><td align=
"left">Function
<code class=
"code">iswblank
</code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">8.33</td><td align=
"left">Additions to header
<code class=
"code"><wctype.h
></code></td><td align=
"left">Y
</td><td align=
"left"> </td></tr></tbody></table></div></div><br class=
"table-break" /><div class=
"section"><div class=
"titlepage"><div><div><h4 class=
"title"><a id=
"iso.tr1.specific"></a>Implementation Specific Behavior
</h4></div></div></div><p>For behaviour which is specified by the
1998 and
2003 standards,
926 see
<a class=
"link" href=
"status.html#iso.1998.specific" title=
"Implementation Specific Behavior">C++
1998/
2003 Implementation
927 Specific Behavior
</a>. This section documents behaviour which
930 <span class=
"emphasis"><em>3.6.4 [tr.func.bind.place]/
1</em></span> There are
29
931 placeholders defined and the placeholder types are
932 <code class=
"literal">Assignable
</code>.
933 </p></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"status.iso.tr24733"></a>C++ TR
24733</h3></div></div></div><p>
934 This table is based on the table of contents of
935 ISO/IEC TR
24733 Date:
2009-
08-
28
936 Extension for the programming language C++ to support
937 decimal floating-point arithmetic
939 This page describes the TR
24733 support in mainline GCC SVN, not in any
941 </p><div class=
"table"><a id=
"table.decfp_status"></a><p class=
"title"><strong>Table
1.8. C++ TR
24733 Implementation Status
</strong></p><div class=
"table-contents"><table summary=
"C++ TR 24733 Implementation Status" border=
"1"><colgroup><col align=
"left" class=
"c1" /><col align=
"left" class=
"c2" /><col align=
"left" class=
"c3" /><col align=
"left" class=
"c4" /></colgroup><thead><tr><th align=
"left">Section
</th><th align=
"left">Description
</th><th align=
"left">Status
</th><th align=
"left">Comments
</th></tr></thead><tbody><tr><td align=
"left">
942 <span class=
"emphasis"><em>0</em></span>
943 </td><td colspan=
"3" align=
"left">
944 <span class=
"emphasis"><em>Introduction
</em></span>
945 </td></tr><tr><td align=
"left">
946 <span class=
"emphasis"><em>1</em></span>
947 </td><td colspan=
"3" align=
"left">
948 <span class=
"emphasis"><em>Normative references
</em></span>
949 </td></tr><tr><td align=
"left">
950 <span class=
"emphasis"><em>2</em></span>
951 </td><td colspan=
"3" align=
"left">
952 <span class=
"emphasis"><em>Conventions
</em></span>
953 </td></tr><tr><td align=
"left">
954 <span class=
"emphasis"><em>3</em></span>
955 </td><td colspan=
"3" align=
"left">
956 <span class=
"emphasis"><em>Decimal floating-point types
</em></span>
957 </td></tr><tr><td align=
"left">3.1</td><td align=
"left">Characteristics of decimal floating-point types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">3.2</td><td align=
"left">Decimal Types
</td><td align=
"left"> </td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">3.2.1</td><td align=
"left">Class
<code class=
"code">decimal
</code> synopsis
</td><td align=
"left">Partial
</td><td align=
"left">Missing declarations for formatted input/output; non-conforming extension for functions converting to integral type
</td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">3.2.2</td><td align=
"left">Class
<code class=
"code">decimal32
</code></td><td align=
"left">Partial
</td><td align=
"left">Missing
3.2.2.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point
</td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">3.2.3</td><td align=
"left">Class
<code class=
"code">decimal64
</code></td><td align=
"left">Partial
</td><td align=
"left">Missing
3.2.3.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point
</td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">3.2.4</td><td align=
"left">Class
<code class=
"code">decimal128
</code></td><td align=
"left">Partial
</td><td align=
"left">Missing
3.2.4.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point
</td></tr><tr><td align=
"left">3.2.5</td><td align=
"left">Initialization from coefficient and exponent
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.2.6</td><td align=
"left">Conversion to generic floating-point type
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.2.7</td><td align=
"left">Unary arithmetic operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.2.8</td><td align=
"left">Binary arithmetic operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.2.9</td><td align=
"left">Comparison operators
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.2.10</td><td align=
"left">Formatted input
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.2.11</td><td align=
"left">Formatted output
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.3</td><td align=
"left">Additions to header
<code class=
"code">limits
</code></td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4</td><td align=
"left">Headers
<code class=
"code">cfloat
</code> and
<code class=
"code">float.h
</code></td><td align=
"left"> </td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.2</td><td align=
"left">Additions to header
<code class=
"code">cfloat
</code> synopsis
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#B0B0B0"><td align=
"left">3.4.3</td><td align=
"left">Additions to header
<code class=
"code">float.h
</code> synopsis
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.4</td><td align=
"left">Maximum finite value
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.5</td><td align=
"left">Epsilon
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.6</td><td align=
"left">Minimum positive normal value
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.7</td><td align=
"left">Minimum positive subnormal value
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr><td align=
"left">3.4.8</td><td align=
"left">Evaluation format
</td><td align=
"left">Y
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.5</td><td align=
"left">Additions to
<code class=
"code">cfenv
</code> and
<code class=
"code">fenv.h
</code></td><td align=
"left">Outside the scope of GCC
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.6</td><td align=
"left">Additions to
<code class=
"code">cmath
</code> and
<code class=
"code">math.h
</code></td><td align=
"left">Outside the scope of GCC
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.7</td><td align=
"left">Additions to
<code class=
"code">cstdio
</code> and
<code class=
"code">stdio.h
</code></td><td align=
"left">Outside the scope of GCC
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.8</td><td align=
"left">Additions to
<code class=
"code">cstdlib
</code> and
<code class=
"code">stdlib.h
</code></td><td align=
"left">Outside the scope of GCC
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.9</td><td align=
"left">Additions to
<code class=
"code">cwchar
</code> and
<code class=
"code">wchar.h
</code></td><td align=
"left">Outside the scope of GCC
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.10</td><td align=
"left">Facets
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.11</td><td align=
"left">Type traits
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr bgcolor=
"#C8B0B0"><td align=
"left">3.12</td><td align=
"left">Hash functions
</td><td align=
"left">N
</td><td align=
"left"> </td></tr><tr><td align=
"left">
958 <span class=
"emphasis"><em>4</em></span>
959 </td><td colspan=
"3" align=
"left">
960 <span class=
"emphasis"><em>Notes on C compatibility
</em></span>
961 </td></tr></tbody></table></div></div><br class=
"table-break" /></div></div></div><div class=
"navfooter"><hr /><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"intro.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"intro.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"license.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">Part I.
964 </td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> License
</td></tr></table></div></body></html>