1 <section xmlns=
"http://docbook.org/ns/docbook" version=
"5.0"
2 xml:
id=
"status.iso.2011" xreflabel=
"Status C++ 2011">
3 <?dbhtml filename=
"status_iso_cxx2011.html"?>
5 <info><title>C++
2011</title>
7 <keyword>ISO C++
</keyword>
8 <keyword>2011</keyword>
13 <anchor xml:
id=
"status.iso.200x" /> <!-- preserve links to old section ID -->
14 This table is based on the table of contents of ISO/IEC
15 JTC1 SC22 WG21 Doc No: N3290 Date:
2011-
04-
11
16 Final Draft International Standard, Standard for Programming Language C++
20 In this implementation
<literal>-std=gnu++
11</literal> or
21 <literal>-std=c++
11</literal> flags must be used to enable language
23 features. See
<link linkend=
"manual.intro.using.flags">dialect
</link>
24 options. The pre-defined symbol
25 <constant>__cplusplus
</constant> is used to check for the
26 presence of the required flag.
30 This page describes the C++
11 support in mainline GCC SVN, not in any
34 <!-- Status is Yes or No, Broken/Partial-->
39 <?dbhtml bgcolor="#C8B0B0" ?>
41 <?dbhtml bgcolor="#B0B0B0" ?>
43 <table frame=
"all" xml:
id=
"table.cxx11_status">
44 <title>C++
2011 Implementation Status
</title>
46 <tgroup cols=
"4" align=
"left" colsep=
"0" rowsep=
"1">
47 <colspec colname=
"c1"/>
48 <colspec colname=
"c2"/>
49 <colspec colname=
"c3"/>
50 <colspec colname=
"c4"/>
53 <entry>Section
</entry>
54 <entry>Description
</entry>
56 <entry>Comments
</entry>
64 <emphasis>18</emphasis>
66 <entry namest=
"c2" nameend=
"c4" align=
"left">
67 <emphasis>Language support
</emphasis>
73 <entry>General
</entry>
85 <entry>Implementation properties
</entry>
92 <entry>Numeric Limits
</entry>
97 <entry>18.3.2.3</entry>
98 <entry>Class template
<code>numeric_limits
</code></entry>
103 <entry>18.3.2.4</entry>
104 <entry><code>numeric_limits
</code> members
</entry>
109 <?dbhtml bgcolor=
"#C8B0B0" ?>
110 <entry>18.3.2.5</entry>
111 <entry><code>float_round_style
</code></entry>
116 <?dbhtml bgcolor=
"#C8B0B0" ?>
117 <entry>18.3.2.6</entry>
118 <entry><code>float_denorm_style
</code></entry>
123 <entry>18.3.2.7</entry>
124 <entry><code>numeric_limits
</code> specializations
</entry>
130 <entry>18.3.3</entry>
131 <entry>C Library
</entry>
138 <entry>Integer types
</entry>
143 <entry>18.4.1</entry>
144 <entry>Header
<code><cstdint
></code> synopsis
</entry>
149 <?dbhtml bgcolor=
"#B0B0B0" ?>
151 <entry>Start and termination
</entry>
152 <entry>Partial
</entry>
153 <entry>C library dependency for quick_exit, at_quick_exit
</entry>
157 <entry>Dynamic memory management
</entry>
163 <entry>Type identification
</entry>
168 <entry>18.7.1</entry>
169 <entry>Class type_info
</entry>
174 <entry>18.7.2</entry>
175 <entry>Class bad_cast
</entry>
180 <entry>18.7.3</entry>
181 <entry>Class bad_typeid
</entry>
187 <entry>Exception handling
</entry>
192 <entry>18.8.1</entry>
193 <entry>Class exception
</entry>
198 <entry>18.8.2</entry>
199 <entry>Class bad_exception
</entry>
204 <entry>18.8.3</entry>
205 <entry>Abnormal termination
</entry>
210 <entry>18.8.4</entry>
211 <entry><code>uncaught_exception
</code></entry>
216 <entry>18.8.5</entry>
217 <entry>Exception Propagation
</entry>
222 <entry>18.8.6</entry>
223 <entry><code>nested_exception
</code></entry>
229 <entry>Initializer lists
</entry>
234 <entry>18.9.1</entry>
235 <entry>Initializer list constructors
</entry>
240 <entry>18.9.2</entry>
241 <entry>Initializer list access
</entry>
246 <entry>18.9.3</entry>
247 <entry>Initializer list range access
</entry>
253 <entry>Other runtime support
</entry>
259 <emphasis>19</emphasis>
261 <entry namest=
"c2" nameend=
"c4" align=
"left">
262 <emphasis>Diagnostics
</emphasis>
267 <entry>General
</entry>
273 <entry>Exception classes
</entry>
279 <entry>Assertions
</entry>
285 <entry>Error numbers
</entry>
291 <entry>System error support
</entry>
296 <entry>19.5.1</entry>
297 <entry>Class
<code>error_category
</code></entry>
302 <entry>19.5.2</entry>
303 <entry>Class
<code>error_code
</code></entry>
308 <entry>19.5.3</entry>
309 <entry>Class
<code>error_condition
</code></entry>
314 <entry>19.5.4</entry>
315 <entry>Comparison operators
</entry>
320 <entry>19.5.5</entry>
321 <entry>Class
<code>system_error
</code></entry>
327 <emphasis>20</emphasis>
329 <entry namest=
"c2" nameend=
"c4" align=
"left">
330 <emphasis>General utilities
</emphasis>
335 <entry>General
</entry>
341 <entry>Utility components
</entry>
346 <entry>20.2.1</entry>
347 <entry>Operators
</entry>
352 <entry>20.2.2</entry>
358 <entry>20.2.3</entry>
359 <entry><code>forward
</code> and
<code>move
</code> helpers
</entry>
364 <entry>20.2.4</entry>
365 <entry>Function template
<code>declval
</code></entry>
376 <entry>20.3.1</entry>
377 <entry>In general
</entry>
382 <entry>20.3.2</entry>
383 <entry>Class template
<code>pair
</code></entry>
388 <entry>20.3.3</entry>
389 <entry>Specialized algorithms
</entry>
394 <entry>20.3.4</entry>
395 <entry>Tuple-like access to
<code>pair
</code></entry>
400 <entry>20.3.5</entry>
401 <entry>Piecewise construction
</entry>
407 <entry>Tuples
</entry>
412 <entry>20.4.1</entry>
413 <entry>In general
</entry>
418 <entry>20.4.2</entry>
419 <entry>Class template
<code>tuple
</code></entry>
424 <entry>20.4.2.1</entry>
425 <entry>Construction
</entry>
430 <entry>20.4.2.2</entry>
431 <entry>Assignment
</entry>
436 <entry>20.4.2.3</entry>
442 <entry>20.4.2.4</entry>
443 <entry>Tuple creation functions
</entry>
448 <entry>20.4.2.5</entry>
449 <entry>Tuple helper classes
</entry>
454 <entry>20.4.2.6</entry>
455 <entry>Element access
</entry>
460 <entry>20.4.2.7</entry>
461 <entry>Relational operators
</entry>
466 <entry>20.4.2.8</entry>
467 <entry>Tuple traits
</entry>
472 <entry>20.4.2.9</entry>
473 <entry>Tuple specialized algorithms
</entry>
479 <entry>Class template
<code>bitset
</code></entry>
484 <entry>20.5.1</entry>
485 <entry><code>bitset
</code> constructors
</entry>
490 <entry>20.5.2</entry>
491 <entry><code>bitset
</code> members
</entry>
496 <entry>20.5.3</entry>
497 <entry><code>bitset
</code> hash support
</entry>
502 <entry>20.5.4</entry>
503 <entry><code>bitset
</code> operators
</entry>
509 <entry>Memory
</entry>
514 <entry>20.6.1</entry>
515 <entry>In general
</entry>
520 <entry>20.6.2</entry>
521 <entry>Header
<code><memory
></code> synopsis
</entry>
526 <entry>20.6.3</entry>
527 <entry>Pointer traits
</entry>
532 <?dbhtml bgcolor=
"#B0B0B0" ?>
533 <entry>20.6.4</entry>
534 <entry>Pointer safety
</entry>
535 <entry>Partial
</entry>
539 <entry>20.6.5</entry>
545 <entry>20.6.6</entry>
546 <entry>Allocator argument tag
</entry>
551 <entry>20.6.7</entry>
552 <entry><code>uses_allocator
</code></entry>
557 <entry>20.6.8</entry>
558 <entry>Allocator traits
</entry>
563 <entry>20.6.9</entry>
564 <entry>The default allocator
</entry>
569 <entry>20.6.10</entry>
570 <entry>Raw storage iterator
</entry>
575 <entry>20.6.11</entry>
576 <entry>Temporary buffers
</entry>
581 <entry>20.6.12</entry>
582 <entry>Specialized algorithms
</entry>
587 <entry>20.6.12.1</entry>
588 <entry><code>addressof
</code></entry>
593 <entry>20.6.12.2</entry>
594 <entry><code>uninitialized_copy
</code></entry>
599 <entry>20.6.12.3</entry>
600 <entry><code>uninitialized_fill
</code></entry>
605 <entry>20.6.12.4</entry>
606 <entry><code>uninitialized_fill_n
</code></entry>
611 <entry>20.6.13</entry>
612 <entry>C library
</entry>
618 <entry>Smart pointers
</entry>
623 <entry>20.7.1</entry>
624 <entry>Class template
<code>unique_ptr
</code></entry>
629 <entry>20.7.2</entry>
630 <entry>Shared-ownership pointers
</entry>
635 <entry>20.7.2.1</entry>
636 <entry>Class
<code>bad_weak_ptr
</code></entry>
641 <entry>20.7.2.2</entry>
642 <entry>Class template
<code>shared_ptr
</code></entry>
647 <link xmlns:
xlink=
"http://www.w3.org/1999/xlink" xlink:
href=
"http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr
</link>.
652 <entry>20.7.2.3</entry>
653 <entry>Class template
<code>weak_ptr
</code></entry>
658 <entry>20.7.2.4</entry>
659 <entry>Class template
<code>emable_shared_from_this
</code></entry>
664 <entry>20.7.2.5</entry>
665 <entry><code>shared_ptr
</code> atomic access
</entry>
670 <entry>20.7.2.6</entry>
671 <entry>Smart pointer hash support
</entry>
677 <entry>Function objects
</entry>
682 <entry>20.8.1</entry>
683 <entry>Definitions
</entry>
688 <entry>20.8.2</entry>
689 <entry>Requirements
</entry>
694 <entry>20.8.3</entry>
695 <entry>Class template
<code>reference_wrapper
</code></entry>
700 <entry>20.8.4</entry>
701 <entry>Arithmetic operation
</entry>
706 <entry>20.8.5</entry>
707 <entry>Comparisons
</entry>
712 <entry>20.8.6</entry>
713 <entry>Logical operations
</entry>
718 <entry>20.8.7</entry>
719 <entry>Bitwise operations
</entry>
724 <entry>20.8.8</entry>
725 <entry>Negators
</entry>
730 <entry>20.8.9</entry>
731 <entry>Function template
<code>bind
</code></entry>
736 <entry>20.8.10</entry>
737 <entry>Function template
<code>mem_fn
</code></entry>
742 <entry>20.8.11</entry>
743 <entry>Polymorphic function wrappers
</entry>
748 <entry>20.8.11.1</entry>
749 <entry>Class
<code>bad_function_call
</code></entry>
754 <?dbhtml bgcolor=
"#B0B0B0" ?>
755 <entry>20.8.11.2</entry>
756 <entry>Class template
<code>function
</code></entry>
757 <entry>Partial
</entry>
758 <entry>Missing allocator support
</entry>
761 <entry>20.8.12</entry>
762 <entry>Class template
<code>hash
</code></entry>
768 <entry>Metaprogramming and type traits
</entry>
773 <entry>20.9.1</entry>
774 <entry>Requirements
</entry>
779 <entry>20.9.2</entry>
780 <entry>Header
<code><type_traits
></code> synopsis
</entry>
785 <entry>20.9.3</entry>
786 <entry>Helper classes
</entry>
791 <entry>20.9.4</entry>
792 <entry>Unary Type Traits
</entry>
797 <entry>20.9.4.1</entry>
798 <entry>Primary type categories
</entry>
803 <entry>20.9.4.2</entry>
804 <entry>Composite type traits
</entry>
809 <entry>20.9.4.3</entry>
810 <entry>Type properties
</entry>
815 <entry>20.9.5</entry>
816 <entry>Type property queries
</entry>
821 <entry>20.9.6</entry>
822 <entry>Relationships between types
</entry>
827 <entry>20.9.7</entry>
828 <entry>Transformations between types
</entry>
833 <entry>20.9.7.1</entry>
834 <entry>Const-volatile modifications
</entry>
839 <entry>20.9.7.2</entry>
840 <entry>Reference modifications
</entry>
845 <entry>20.9.7.3</entry>
846 <entry>Sign modifications
</entry>
851 <entry>20.9.7.4</entry>
852 <entry>Array modifications
</entry>
857 <entry>20.9.7.5</entry>
858 <entry>Pointer modifications
</entry>
863 <entry>20.9.7.6</entry>
864 <entry>Other transformations
</entry>
870 <entry>Compile-time rational arithmetic
</entry>
875 <entry>20.10.1</entry>
876 <entry>In general
</entry>
881 <entry>20.10.2</entry>
882 <entry>Header
<code><ratio
></code> synopsis
</entry>
887 <entry>20.10.3</entry>
888 <entry>Class template
<code>ratio
</code></entry>
893 <entry>20.10.4</entry>
894 <entry>Arithmetic on
<code>ratio
</code>s
</entry>
899 <entry>20.10.5</entry>
900 <entry>Comparison of
<code>ratio
</code>s
</entry>
905 <entry>20.10.6</entry>
906 <entry>SI types for
<code>ratio
</code></entry>
912 <entry>Time utilities
</entry>
917 <entry>20.11.3</entry>
918 <entry>Clock requirements
</entry>
923 <entry>20.11.4</entry>
924 <entry>Time-related traits
</entry>
929 <entry>20.11.4.1</entry>
930 <entry><code>treat_as_floating_point
</code></entry>
935 <entry>20.11.4.2</entry>
936 <entry><code>duration_values
</code></entry>
941 <entry>20.11.4.3</entry>
942 <entry>Specializations of
<code>common_type
</code></entry>
947 <?dbhtml bgcolor=
"#B0B0B0" ?>
948 <entry>20.11.5</entry>
949 <entry>Class template
<code>duration
</code></entry>
954 <entry>20.11.6</entry>
955 <entry>Class template
<code>time_point
</code></entry>
960 <entry>20.11.7</entry>
961 <entry>Clocks
</entry>
966 <entry>20.11.7.1</entry>
967 <entry>Class
<code>system_clock
</code></entry>
972 <entry>20.11.7.2</entry>
973 <entry>Class
<code>steady_clock
</code></entry>
978 <entry>20.11.7.3</entry>
979 <entry>Class
<code>high_resolution_clock
</code></entry>
984 <entry>20.11.8</entry>
985 <entry>Date and time functions
</entry>
991 <entry>Scoped allocator adaptor
</entry>
996 <entry>20.12.1</entry>
997 <entry>Header
<code><scoped_allocator
></code> synopsis
</entry>
1002 <entry>20.12.2</entry>
1003 <entry>Scoped allocator adaptor member types
</entry>
1008 <entry>20.12.3</entry>
1009 <entry>Scoped allocator adaptor constructors
</entry>
1014 <?dbhtml bgcolor=
"#B0B0B0" ?>
1015 <entry>20.12.4</entry>
1016 <entry>Scoped allocator adaptor members
</entry>
1017 <entry>Partial
</entry>
1018 <entry>OUTERMOST is not recursive.
</entry>
1021 <entry>20.12.5</entry>
1022 <entry>Scoped allocator operators
</entry>
1027 <entry>20.13</entry>
1028 <entry>Class
<code>type_index
</code></entry>
1034 <emphasis>21</emphasis>
1036 <entry namest=
"c2" nameend=
"c4" align=
"left">
1037 <emphasis>Strings
</emphasis>
1042 <entry>General
</entry>
1048 <entry>Character traits
</entry>
1053 <entry>21.2.1</entry>
1054 <entry>Character traits requirements
</entry>
1059 <entry>21.2.2</entry>
1060 <entry>traits typedefs
</entry>
1065 <entry>21.2.3</entry>
1066 <entry><code>char_traits
</code> specializations
</entry>
1071 <?dbhtml bgcolor=
"#B0B0B0" ?>
1072 <entry>21.2.3.1</entry>
1073 <entry>struct
<code>char_traits
<char
></code></entry>
1078 <?dbhtml bgcolor=
"#B0B0B0" ?>
1079 <entry>21.2.3.2</entry>
1080 <entry>struct
<code>char_traits
<char16_t
></code></entry>
1085 <entry>21.2.3.3</entry>
1086 <entry>struct
<code>char_traits
<char32_t
></code></entry>
1091 <entry>21.2.3.4</entry>
1092 <entry>struct
<code>char_traits
<wchar_t
></code></entry>
1098 <entry>String classes
</entry>
1104 <entry>Class template
<code>basic_string
</code></entry>
1110 <entry>Numeric Conversions
</entry>
1116 <entry>Hash support
</entry>
1121 <?dbhtml bgcolor=
"#B0B0B0" ?>
1123 <entry>Null-terminated sequence utilities
</entry>
1124 <entry>Partial
</entry>
1125 <entry>C library dependency.
1126 Missing
<filename class=
"headerfile"><cuchar
></filename>
1131 <emphasis>22</emphasis>
1133 <entry namest=
"c2" nameend=
"c4" align=
"left">
1134 <emphasis>Localization
</emphasis>
1139 <entry>General
</entry>
1145 <entry>Header
<code><locale
></code> synopsis
</entry>
1151 <entry>Locales
</entry>
1156 <entry>22.3.1</entry>
1157 <entry>Class
<code>locale
</code></entry>
1162 <entry>22.3.2</entry>
1163 <entry><code>locale
</code> globals
</entry>
1168 <entry>22.3.3</entry>
1169 <entry>Convenience interfaces
</entry>
1174 <entry>22.3.3.1</entry>
1175 <entry>Character classification
</entry>
1180 <entry>22.3.3.2</entry>
1181 <entry>Conversions
</entry>
1186 <entry>22.3.3.2.1</entry>
1187 <entry>Character conversions
</entry>
1192 <entry>22.3.3.2.2</entry>
1193 <entry><code>string
</code> conversions
</entry>
1198 <entry>22.3.3.2.3</entry>
1199 <entry>Buffer conversions
</entry>
1205 <entry>Standard
<code>locale
</code> categories
</entry>
1210 <entry>22.4.1</entry>
1211 <entry>The
<code>ctype
</code> category
</entry>
1216 <entry>22.4.2</entry>
1217 <entry>The numeric category
</entry>
1222 <entry>22.4.2.1</entry>
1223 <entry><code>num_get
</code></entry>
1228 <entry>22.4.2.2</entry>
1229 <entry><code>num_put
</code></entry>
1234 <entry>22.4.3</entry>
1235 <entry>The numeric punctuation facet
</entry>
1240 <entry>22.4.4</entry>
1241 <entry>The collate category
</entry>
1246 <entry>22.4.5</entry>
1247 <entry>The time category
</entry>
1252 <entry>22.4.5.1</entry>
1253 <entry>Class template
<code>time_get
</code></entry>
1258 <entry>22.4.5.2</entry>
1259 <entry>Class template
<code>time_get_byname
</code></entry>
1264 <entry>22.4.5.3</entry>
1265 <entry>Class template
<code>time_put
</code></entry>
1270 <entry>22.4.5.3</entry>
1271 <entry>Class template
<code>time_put_byname
</code></entry>
1276 <entry>22.4.6</entry>
1277 <entry>The monetary category
</entry>
1282 <entry>22.4.6.1</entry>
1283 <entry>Class template
<code>money_get
</code></entry>
1288 <entry>22.4.6.2</entry>
1289 <entry>Class template
<code>money_put
</code></entry>
1294 <entry>22.4.6.3</entry>
1295 <entry>Class template
<code>money_punct
</code></entry>
1300 <entry>22.4.6.4</entry>
1301 <entry>Class template
<code>money_punct_byname
</code></entry>
1306 <entry>22.4.7</entry>
1307 <entry>The message retrieval category
</entry>
1312 <entry>22.4.8</entry>
1313 <entry>Program-defined facets
</entry>
1319 <entry>Standard code conversion facets
</entry>
1325 <entry>C Library Locales
</entry>
1331 <emphasis>23</emphasis>
1333 <entry namest=
"c2" nameend=
"c4" align=
"left">
1334 <emphasis>Containers
</emphasis>
1339 <entry>General
</entry>
1345 <entry>Container requirements
</entry>
1350 <?dbhtml bgcolor=
"#B0B0B0" ?>
1351 <entry>23.2.1</entry>
1352 <entry>General container requirements
</entry>
1353 <entry>Partial
</entry>
1354 <entry><code>list
</code> does not meet the requirements
1355 relating to allocator use and propagation.
</entry>
1358 <entry>23.2.2</entry>
1359 <entry>Container data races
</entry>
1364 <entry>23.2.3</entry>
1365 <entry>Sequence containers
</entry>
1370 <entry>23.2.4</entry>
1371 <entry>Associative containers
</entry>
1376 <entry>23.2.5</entry>
1377 <entry>Unordered associative containers
</entry>
1383 <entry>Sequence containers
</entry>
1388 <entry>23.3.2</entry>
1389 <entry>Class template
<code>array
</code></entry>
1394 <entry>23.3.3</entry>
1395 <entry>Class template
<code>deque
</code></entry>
1400 <entry>23.3.4</entry>
1401 <entry>Class template
<code>forward_list
</code></entry>
1406 <?dbhtml bgcolor=
"#B0B0B0" ?>
1407 <entry>23.3.5</entry>
1408 <entry>Class template
<code>list
</code></entry>
1409 <entry>Partial
</entry>
1410 <entry>Incomplete allocator support.
</entry>
1413 <entry>23.3.6</entry>
1414 <entry>Class template
<code>vector
</code></entry>
1419 <entry>23.3.7</entry>
1420 <entry>Class
<code>vector
<bool
></code></entry>
1426 <entry>Associative containers
</entry>
1431 <entry>23.4.4</entry>
1432 <entry>Class template
<code>map
</code></entry>
1437 <entry>23.4.5</entry>
1438 <entry>Class template
<code>multimap
</code></entry>
1443 <entry>23.4.6</entry>
1444 <entry>Class template
<code>set
</code></entry>
1449 <entry>23.4.7</entry>
1450 <entry>Class template
<code>multiset
</code></entry>
1456 <entry>Unordered associative containers
</entry>
1461 <entry>23.5.4</entry>
1462 <entry>Class template
<code>unordered_map
</code></entry>
1467 <entry>23.5.5</entry>
1468 <entry>Class template
<code>unordered_multimap
</code></entry>
1473 <entry>23.5.6</entry>
1474 <entry>Class template
<code>unordered_set
</code></entry>
1479 <entry>23.5.7</entry>
1480 <entry>Class template
<code>unordered_multiset
</code></entry>
1486 <entry>Container adaptors
</entry>
1491 <entry>23.6.1</entry>
1492 <entry>Class template
<code>queue
</code></entry>
1497 <entry>23.6.2</entry>
1498 <entry>Class template
<code>priority_queue
</code></entry>
1503 <entry>23.6.3</entry>
1504 <entry>Class template
<code>stack
</code></entry>
1510 <emphasis>24</emphasis>
1512 <entry namest=
"c2" nameend=
"c4" align=
"left">
1513 <emphasis>Iterators
</emphasis>
1518 <entry>General
</entry>
1524 <entry>Iterator requirements
</entry>
1530 <entry>Header
<code><iterator
></code> synopsis
</entry>
1536 <entry>Iterator primitives
</entry>
1542 <entry>Iterator adaptors
</entry>
1547 <entry>24.5.1</entry>
1548 <entry>Reverse iterators
</entry>
1553 <entry>24.5.2</entry>
1554 <entry>Insert iterators
</entry>
1559 <entry>24.5.3</entry>
1560 <entry>Move iterators
</entry>
1566 <entry>Stream iterators
</entry>
1571 <entry>24.6.1</entry>
1572 <entry>Class template
<code>istream_iterator
</code></entry>
1577 <entry>24.6.2</entry>
1578 <entry>Class template
<code>ostream_iterator
</code></entry>
1583 <entry>24.6.3</entry>
1584 <entry>Class template
<code>istreambuf_iterator
</code></entry>
1589 <entry>24.6.4</entry>
1590 <entry>Class template
<code>ostreambuf_iterator
</code></entry>
1595 <entry>24.6.5</entry>
1596 <entry>range access
</entry>
1602 <emphasis>25</emphasis>
1604 <entry namest=
"c2" nameend=
"c4" align=
"left">
1605 <emphasis>Algorithms
</emphasis>
1610 <entry>General
</entry>
1616 <entry>Non-modifying sequence operations
</entry>
1622 <entry>Mutating sequence operations
</entry>
1628 <entry>Sorting and related operations
</entry>
1634 <entry>C library algorithms
</entry>
1640 <emphasis>26</emphasis>
1642 <entry namest=
"c2" nameend=
"c4" align=
"left">
1643 <emphasis>Numerics
</emphasis>
1648 <entry>General
</entry>
1654 <entry>Numeric type requirements
</entry>
1660 <entry>The floating-point environment
</entry>
1666 <entry>Complex numbers
</entry>
1672 <entry>Random number generation
</entry>
1677 <entry>26.5.1</entry>
1678 <entry>Requirements
</entry>
1683 <entry>26.5.2</entry>
1684 <entry>Header
<code><random
></code> synopsis
</entry>
1689 <entry>26.5.3</entry>
1690 <entry>Random number engine class templates
</entry>
1695 <entry>26.5.3.1</entry>
1696 <entry>Class template
<code>linear_congruential_engine
</code></entry>
1701 <entry>26.5.3.2</entry>
1702 <entry>Class template
<code>mersenne_twister_engine
</code></entry>
1707 <entry>26.5.3.3</entry>
1708 <entry>Class template
<code>subtract_with_carry_engine
</code></entry>
1713 <entry>26.5.4</entry>
1714 <entry>Random number engine adaptor class templates
</entry>
1719 <entry>26.5.4.2</entry>
1720 <entry>Class template
<code>discard_block_engine
</code></entry>
1725 <entry>26.5.4.3</entry>
1726 <entry>Class template
<code>independent_bits_engine
</code></entry>
1731 <entry>26.5.4.4</entry>
1732 <entry>Class template
<code>shuffle_order_engine
</code></entry>
1737 <entry>26.5.5</entry>
1738 <entry>Engines and engine adaptors with predefined parameters
</entry>
1743 <entry>26.5.6</entry>
1744 <entry>Class
<code>random_device
</code></entry>
1749 <entry>26.5.7</entry>
1750 <entry>Utilities
</entry>
1755 <entry>26.5.7.1</entry>
1756 <entry>Class
<code>seed_seq
</code></entry>
1761 <entry>26.5.7.2</entry>
1762 <entry>Function template
<code>generate_canonical
</code></entry>
1767 <entry>26.5.8</entry>
1768 <entry>Random number distribution class templates
</entry>
1773 <entry>26.5.8.2</entry>
1774 <entry>Uniform distributions
</entry>
1779 <entry>26.5.8.2.1</entry>
1780 <entry>Class template
<code>uniform_int_distribution
</code></entry>
1785 <entry>26.5.8.2.2</entry>
1786 <entry>Class template
<code>uniform_real_distribution
</code></entry>
1791 <entry>26.5.8.3</entry>
1792 <entry>Bernoulli distributions
</entry>
1797 <entry>26.5.8.3.1</entry>
1798 <entry>Class
<code>bernoulli_distribution
</code></entry>
1803 <entry>26.5.8.3.2</entry>
1804 <entry>Class template
<code>binomial_distribution
</code></entry>
1809 <entry>26.5.8.3.3</entry>
1810 <entry>Class template
<code>geometric_distribution
</code></entry>
1815 <entry>26.5.8.3.4</entry>
1816 <entry>Class template
<code>negative_binomial_distribution
</code></entry>
1821 <entry>26.5.8.4</entry>
1822 <entry>Poisson distributions
</entry>
1827 <entry>26.5.8.4.1</entry>
1828 <entry>Class template
<code>poisson_distribution
</code></entry>
1833 <entry>26.5.8.4.2</entry>
1834 <entry>Class template
<code>exponential_distribution
</code></entry>
1839 <entry>26.5.8.4.3</entry>
1840 <entry>Class template
<code>gamma_distribution
</code></entry>
1845 <entry>26.5.8.4.4</entry>
1846 <entry>Class template
<code>weibull_distribution
</code></entry>
1851 <entry>26.5.8.4.5</entry>
1852 <entry>Class template
<code>extreme_value_distribution
</code></entry>
1857 <entry>26.5.8.5</entry>
1858 <entry>Normal distributions
</entry>
1863 <entry>26.5.8.5.1</entry>
1864 <entry>Class template
<code>normal_distribution
</code></entry>
1869 <entry>26.5.8.5.2</entry>
1870 <entry>Class template
<code>lognormal_distribution
</code></entry>
1875 <entry>26.5.8.5.3</entry>
1876 <entry>Class template
<code>chi_squared_distribution
</code></entry>
1881 <entry>26.5.8.5.4</entry>
1882 <entry>Class template
<code>cauchy_distribution
</code></entry>
1887 <entry>26.5.8.5.5</entry>
1888 <entry>Class template
<code>fisher_f_distribution
</code></entry>
1893 <entry>26.5.8.5.6</entry>
1894 <entry>Class template
<code>student_t_distribution
</code></entry>
1899 <entry>26.5.8.6</entry>
1900 <entry>Sampling distributions
</entry>
1905 <entry>26.5.8.6.1</entry>
1906 <entry>Class template
<code>discrete_distribution
</code></entry>
1911 <entry>26.5.8.6.2</entry>
1912 <entry>Class template
<code>piecewise_constant_distribution
</code></entry>
1917 <entry>26.5.8.6.3</entry>
1918 <entry>Class template
<code>piecewise_linear_distribution
</code></entry>
1924 <entry>Numeric arrays
</entry>
1929 <entry>26.6.1</entry>
1930 <entry>Header
<code><valarray
></code> synopsis
</entry>
1935 <entry>26.6.2</entry>
1936 <entry>Class template
<code>valarray
</code></entry>
1941 <entry>26.6.3</entry>
1942 <entry><code>valarray
</code> non-member operations
</entry>
1947 <entry>26.6.4</entry>
1948 <entry>Class
<code>slice
</code></entry>
1953 <entry>26.6.5</entry>
1954 <entry>Class template
<code>slice_array
</code></entry>
1959 <entry>26.6.6</entry>
1960 <entry>The
<code>gslice
</code> class
</entry>
1965 <entry>26.6.7</entry>
1966 <entry>Class template
<code>gslice_array
</code></entry>
1971 <entry>26.6.8</entry>
1972 <entry>Class template
<code>mask_array
</code></entry>
1977 <entry>26.6.9</entry>
1978 <entry>Class template
<code>indirect_array
</code></entry>
1983 <entry>26.6.10</entry>
1984 <entry><code>valarray
</code> range access
</entry>
1990 <entry>Generalized numeric operations
</entry>
1995 <entry>26.7.1</entry>
1996 <entry>Header
<code><numeric
></code> synopsis
</entry>
2001 <entry>26.7.2</entry>
2002 <entry><code>accumulate
</code></entry>
2007 <entry>26.7.3</entry>
2008 <entry><code>inner_product
</code></entry>
2013 <entry>26.7.4</entry>
2014 <entry><code>partial_sum
</code></entry>
2019 <entry>26.7.5</entry>
2020 <entry><code>adjacent_difference
</code></entry>
2025 <entry>26.7.6</entry>
2032 <entry>C Library
</entry>
2038 <emphasis>27</emphasis>
2040 <entry namest=
"c2" nameend=
"c4" align=
"left">
2041 <emphasis>Input/output library
</emphasis>
2046 <entry>General
</entry>
2052 <entry>Iostreams requirements
</entry>
2057 <entry>27.2.1</entry>
2058 <entry>Imbue Limitations
</entry>
2063 <entry>27.2.2</entry>
2064 <entry>Positioning Type Limitations
</entry>
2069 <?dbhtml bgcolor=
"#B0B0B0" ?>
2070 <entry>27.2.3</entry>
2071 <entry>Thread safety
</entry>
2072 <entry>Partial
</entry>
2077 <entry>Forward declarations
</entry>
2083 <entry>Standard iostream objects
</entry>
2088 <entry>27.4.1</entry>
2089 <entry>Overview
</entry>
2094 <entry>27.4.2</entry>
2095 <entry>Narrow stream objects
</entry>
2100 <entry>27.4.3</entry>
2101 <entry>Wide stream objects
</entry>
2107 <entry>Iostreams base classes
</entry>
2113 <entry>Stream buffers
</entry>
2119 <entry>Formatting and manipulators
</entry>
2125 <entry>String-based streams
</entry>
2131 <entry>File-based streams
</entry>
2137 <emphasis>28</emphasis>
2139 <entry namest=
"c2" nameend=
"c4" align=
"left">
2140 <emphasis>Regular expressions
</emphasis>
2145 <entry>General
</entry>
2151 <entry>Definitions
</entry>
2157 <entry>Requirements
</entry>
2163 <entry>Header
<code><regex
></code> synopsis
</entry>
2169 <entry>Namespace
<code>std::regex_constants
</code></entry>
2175 <entry>Class
<code>regex_error
</code></entry>
2180 <?dbhtml bgcolor=
"#B0B0B0" ?>
2182 <entry>Class template
<code>regex_traits
</code></entry>
2183 <entry>Partial
</entry>
2184 <entry><code>transform_primary
</code> is not correctly implemented
</entry>
2189 <entry>Class template
<code>basic_regex
</code></entry>
2195 <entry>Class template
<code>sub_match
</code></entry>
2200 <entry>28.10</entry>
2201 <entry>Class template
<code>match_results
</code></entry>
2206 <entry>28.11</entry>
2207 <entry>Regular expression algorithms
</entry>
2212 <entry>28.12</entry>
2213 <entry>Regular expression Iterators
</entry>
2218 <entry>28.13</entry>
2219 <entry>Modified ECMAScript regular expression grammar
</entry>
2225 <emphasis>29</emphasis>
2227 <entry namest=
"c2" nameend=
"c4" align=
"left">
2228 <emphasis>Atomic operations
</emphasis>
2233 <entry>General
</entry>
2239 <entry>Header
<code><atomic
></code> synopsis
</entry>
2244 <?dbhtml bgcolor=
"#B0B0B0" ?>
2246 <entry>Order and consistency
</entry>
2247 <entry>Partial
</entry>
2252 <entry>Lock-free property
</entry>
2258 <entry>Atomic types
</entry>
2264 <entry>Operations on atomic types
</entry>
2270 <entry>Flag Type and operations
</entry>
2276 <entry>Fences
</entry>
2282 <emphasis>30</emphasis>
2284 <entry namest=
"c2" nameend=
"c4" align=
"left">
2285 <emphasis>Thread support
</emphasis>
2290 <entry>General
</entry>
2296 <entry>Requirements
</entry>
2302 <entry>Threads
</entry>
2307 <?dbhtml bgcolor=
"#B0B0B0" ?>
2308 <entry>30.3.1</entry>
2309 <entry>Class
<code>thread
</code></entry>
2310 <entry>Partial
</entry>
2311 <entry><code>thread::id
</code> comparisons not well-defined
</entry>
2314 <entry>30.3.2</entry>
2315 <entry>Namespace
<code>this_thread
</code></entry>
2321 <entry>Mutual exclusion
</entry>
2326 <entry>30.4.1</entry>
2327 <entry>Mutex requirements
</entry>
2332 <entry>30.4.1.1</entry>
2333 <entry>In general
</entry>
2338 <entry>30.4.1.2</entry>
2339 <entry>Mutex types
</entry>
2344 <entry>30.4.1.2.1</entry>
2345 <entry>Class
<code>mutex
</code></entry>
2350 <entry>30.4.1.2.2</entry>
2351 <entry>Class
<code>recursive_mutex
</code></entry>
2356 <entry>30.4.1.3</entry>
2357 <entry>Timed mutex types
</entry>
2359 <entry>On POSIX sytems these types are only defined if the OS
2360 supports the POSIX Timeouts option.
</entry>
2363 <entry>30.4.1.3.1</entry>
2364 <entry>Class
<code>timed_mutex
</code></entry>
2369 <entry>30.4.1.3.2</entry>
2370 <entry>Class
<code>recursive_timed_mutex
</code></entry>
2375 <entry>30.4.2</entry>
2376 <entry>Locks
</entry>
2381 <entry>30.4.2.1</entry>
2382 <entry>Class template
<code>lock_guard
</code></entry>
2387 <entry>30.4.2.2</entry>
2388 <entry>Class template
<code>unique_lock
</code></entry>
2393 <entry>30.4.3</entry>
2394 <entry>Generic locking algorithms
</entry>
2399 <entry>30.4.4</entry>
2400 <entry>Call once
</entry>
2405 <entry>30.4.4.1</entry>
2406 <entry>Struct
<code>once_flag
</code></entry>
2411 <entry>30.4.4.2</entry>
2412 <entry>Function
<code>call_once
</code></entry>
2418 <entry>Condition variables
</entry>
2423 <entry>30.5.1</entry>
2424 <entry>Class
<code>condition_variable
</code></entry>
2429 <entry>30.5.2</entry>
2430 <entry>Class
<code>condition_variable_any
</code></entry>
2436 <entry>Futures
</entry>
2441 <entry>30.6.1</entry>
2442 <entry>Overview
</entry>
2447 <entry>30.6.2</entry>
2448 <entry>Error handling
</entry>
2453 <entry>30.6.3</entry>
2454 <entry>Class
<code>future_error
</code></entry>
2459 <entry>30.6.4</entry>
2460 <entry>Shared state
</entry>
2465 <entry>30.6.5</entry>
2466 <entry>Class template
<code>promise
</code></entry>
2471 <entry>30.6.6</entry>
2472 <entry>Class template
<code>future
</code></entry>
2477 <entry>30.6.7</entry>
2478 <entry>Class template
<code>shared_future
</code></entry>
2483 <entry>30.6.8</entry>
2484 <entry>Function template
<code>async
</code></entry>
2489 <entry>30.6.9</entry>
2490 <entry>Class template
<code>packaged_task
</code></entry>
2496 <emphasis>Appendix D
</emphasis>
2498 <entry namest=
"c2" nameend=
"c4" align=
"left">
2499 <emphasis>Compatibility features
</emphasis>
2504 <entry>Increment operator with
<code>bool
</code> operand
</entry>
2510 <entry><code>register
</code> keyword
</entry>
2516 <entry>Implicit declaration of copy functions
</entry>
2522 <entry>Dynamic exception specifications
</entry>
2528 <entry>C standard library headers
</entry>
2534 <entry>Old iostreams members
</entry>
2540 <entry><code>char*
</code> streams
</entry>
2546 <entry>Function objects
</entry>
2552 <entry>Binders
</entry>
2558 <entry><code>auto_ptr
</code></entry>
2564 <entry>Violating exception-specifications
</entry>
2573 <section xml:
id=
"iso.2011.specific" xreflabel=
"Implementation Specific"><info><title>Implementation Specific Behavior
</title></info>
2575 <para>For behaviour which is also specified by the
1998 and
2003 standards,
2576 see
<link linkend=
"iso.1998.specific">C++
1998/
2003 Implementation
2577 Specific Behavior
</link>. This section only documents behaviour which
2578 is new in the
2011 standard.
2582 <emphasis>20.8.9.1.3 [func.bind.place]/
1</emphasis> There are
29
2583 placeholders defined and the placeholder types are
2584 <literal>CopyAssignable
</literal>.
2588 <emphasis>23.5.4.2 [unord.map.cnstr]
</emphasis>,
2589 <emphasis>23.5.5.2 [unord.multimap.cnstr]
</emphasis>,
2590 <emphasis>23.5.6.2 [unord.set.cnstr]
</emphasis>,
2591 <emphasis>23.5.7.2 [unord.multiset.cnstr]
</emphasis>
2592 The default minimal bucket count is
0 for the default constructors, range
2593 constructors and initializer-list constructors.
2597 <emphasis>30.2.3 [thread.req.native]/
1</emphasis>
2598 <classname>native_handle_type
</classname> and
2599 <methodname>native_handle
</methodname> are provided. The handle types
2600 are defined in terms of the Gthreads abstraction layer.
2602 <listitem><para><classname>thread
</classname>: The native handle type is
2603 a typedef for
<code>__gthread_t
</code> i.e.
<code>pthread_t
</code>
2604 when GCC is configured with the
<literal>posix
</literal> thread
2605 model. The value of the native handle is undefined for a thread
2606 which is not joinable.
2608 <listitem><para><classname>mutex
</classname> and
2609 <classname>timed_mutex
</classname>:
2610 The native handle type is
<code>__gthread_mutex_t*
</code> i.e.
2611 <code>pthread_mutex_t*
</code> for the
<literal>posix
</literal>
2614 <listitem><para><classname>recursive_mutex
</classname> and
2615 <classname>recursive_timed_mutex
</classname>:
2616 The native handle type is
<code>__gthread_recursive_mutex_t*
</code>
2617 i.e.
<code>pthread_mutex_t*
</code> for the
<literal>posix
</literal>
2620 <listitem><para><classname>condition_variable
</classname>: The native
2621 handle type is
<code>__gthread_cond_t*
</code> i.e.
2622 <code>pthread_cond_t*
</code> for the
<literal>posix
</literal>
2629 <emphasis>30.6.1 [futures.overview]/
2</emphasis>
2630 <code>launch
</code> is a scoped enumeration type with
2631 overloaded operators to support bitmask operations. There are no
2632 additional bitmask elements defined.