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"?> 4 5<info><title>C++ 2011</title> 6 <keywordset> 7 <keyword>ISO C++</keyword> 8 <keyword>2011</keyword> 9 </keywordset> 10</info> 11 12<para> 13<anchor xml:id="status.iso.200x" /> <!-- preserve links to old section ID --> 14This table is based on the table of contents of ISO/IEC 15JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 16Final Draft International Standard, Standard for Programming Language C++ 17</para> 18 19<para> 20In this implementation <literal>-std=gnu++11</literal> or 21<literal>-std=c++11</literal> flags must be used to enable language 22and library 23features. See <link linkend="manual.intro.using.flags">dialect</link> 24options. The pre-defined symbol 25<constant>__cplusplus</constant> is used to check for the 26presence of the required flag. 27</para> 28 29<para> 30This page describes the C++11 support in mainline GCC SVN, not in any 31particular release. 32</para> 33 34<!-- Status is Yes or No, Broken/Partial--> 35<!-- 36 Yes 37 38 No 39 <?dbhtml bgcolor="#C8B0B0" ?> 40 Broken/Partial 41 <?dbhtml bgcolor="#B0B0B0" ?> 42--> 43<table frame="all"> 44<title>C++ 2011 Implementation Status</title> 45 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"/> 51 <thead> 52 <row> 53 <entry>Section</entry> 54 <entry>Description</entry> 55 <entry>Status</entry> 56 <entry>Comments</entry> 57 </row> 58 </thead> 59 60 <tbody> 61 62 <row> 63 <entry> 64 <emphasis>18</emphasis> 65 </entry> 66 <entry namest="c2" nameend="c4" align="left"> 67 <emphasis>Language support</emphasis> 68 </entry> 69 </row> 70 71 <row> 72 <entry>18.1</entry> 73 <entry>General</entry> 74 <entry>Y</entry> 75 <entry/> 76 </row> 77 <row> 78 <?dbhtml bgcolor="#B0B0B0" ?> 79 <entry>18.2</entry> 80 <entry>Types</entry> 81 <entry>Partial</entry> 82 <entry>Missing offsetof, max_align_t</entry> 83 </row> 84 <row> 85 <entry>18.3</entry> 86 <entry>Implementation properties</entry> 87 <entry/> 88 <entry/> 89 </row> 90 91 <row> 92 <entry>18.3.2</entry> 93 <entry>Numeric Limits</entry> 94 <entry/> 95 <entry/> 96 </row> 97 <row> 98 <entry>18.3.2.3</entry> 99 <entry>Class template <code>numeric_limits</code></entry> 100 <entry>Y</entry> 101 <entry/> 102 </row> 103 <row> 104 <entry>18.3.2.4</entry> 105 <entry><code>numeric_limits</code> members</entry> 106 <entry>Y</entry> 107 <entry/> 108 </row> 109 <row> 110 <?dbhtml bgcolor="#C8B0B0" ?> 111 <entry>18.3.2.5</entry> 112 <entry><code>float_round_style</code></entry> 113 <entry>N</entry> 114 <entry/> 115 </row> 116 <row> 117 <?dbhtml bgcolor="#C8B0B0" ?> 118 <entry>18.3.2.6</entry> 119 <entry><code>float_denorm_style</code></entry> 120 <entry>N</entry> 121 <entry/> 122 </row> 123 <row> 124 <entry>18.3.2.7</entry> 125 <entry><code>numeric_limits</code> specializations</entry> 126 <entry>Y</entry> 127 <entry/> 128 </row> 129 130 <row> 131 <entry>18.3.3</entry> 132 <entry>C Library</entry> 133 <entry>Y</entry> 134 <entry/> 135 </row> 136 137 <row> 138 <entry>18.4</entry> 139 <entry>Integer types</entry> 140 <entry/> 141 <entry/> 142 </row> 143 <row> 144 <entry>18.4.1</entry> 145 <entry>Header <code><cstdint></code> synopsis</entry> 146 <entry>Y</entry> 147 <entry/> 148 </row> 149 <row> 150 <?dbhtml bgcolor="#B0B0B0" ?> 151 <entry>18.5</entry> 152 <entry>Start and termination</entry> 153 <entry>Partial</entry> 154 <entry>C library dependency for quick_exit, at_quick_exit</entry> 155 </row> 156 <row> 157 <?dbhtml bgcolor="#B0B0B0" ?> 158 <entry>18.6</entry> 159 <entry>Dynamic memory management</entry> 160 <entry>Partial</entry> 161 <entry>Missing <code>get_new_handler</code>. 162 <code>set_new_handler</code> is not thread-safe. 163 </entry> 164 </row> 165 <row> 166 <entry>18.7</entry> 167 <entry>Type identification</entry> 168 <entry/> 169 <entry/> 170 </row> 171 <row> 172 <entry>18.7.1</entry> 173 <entry>Class type_info</entry> 174 <entry>Y</entry> 175 <entry/> 176 </row> 177 <row> 178 <entry>18.7.2</entry> 179 <entry>Class bad_cast</entry> 180 <entry>Y</entry> 181 <entry/> 182 </row> 183 <row> 184 <entry>18.7.3</entry> 185 <entry>Class bad_typeid</entry> 186 <entry>Y</entry> 187 <entry/> 188 </row> 189 <row> 190 <entry>18.8</entry> 191 <entry>Exception handling</entry> 192 <entry/> 193 <entry/> 194 </row> 195 <row> 196 <entry>18.8.1</entry> 197 <entry>Class exception</entry> 198 <entry>Y</entry> 199 <entry/> 200 </row> 201 <row> 202 <entry>18.8.2</entry> 203 <entry>Class bad_exception</entry> 204 <entry>Y</entry> 205 <entry/> 206 </row> 207 <row> 208 <?dbhtml bgcolor="#B0B0B0" ?> 209 <entry>18.8.3</entry> 210 <entry>Abnormal termination</entry> 211 <entry>Partial</entry> 212 <entry>Missing <code>get_terminate</code>. 213 <code>set_terminate</code> is not thread-safe. 214 </entry> 215 </row> 216 <row> 217 <entry>18.8.4</entry> 218 <entry><code>uncaught_exception</code></entry> 219 <entry>Y</entry> 220 <entry/> 221 </row> 222 <row> 223 <entry>18.8.5</entry> 224 <entry>Exception Propagation</entry> 225 <entry>Y</entry> 226 <entry/> 227 </row> 228 <row> 229 <entry>18.8.6</entry> 230 <entry><code>nested_exception</code></entry> 231 <entry>Y</entry> 232 <entry/> 233 </row> 234 <row> 235 <entry>18.9</entry> 236 <entry>Initializer lists</entry> 237 <entry/> 238 <entry/> 239 </row> 240 <row> 241 <entry>18.9.1</entry> 242 <entry>Initializer list constructors</entry> 243 <entry>Y</entry> 244 <entry/> 245 </row> 246 <row> 247 <entry>18.9.2</entry> 248 <entry>Initializer list access</entry> 249 <entry>Y</entry> 250 <entry/> 251 </row> 252 <row> 253 <entry>18.9.3</entry> 254 <entry>Initializer list range access</entry> 255 <entry>Y</entry> 256 <entry/> 257 </row> 258 <row> 259 <entry>18.10</entry> 260 <entry>Other runtime support</entry> 261 <entry>Y</entry> 262 <entry/> 263 </row> 264 <row> 265 <entry> 266 <emphasis>19</emphasis> 267 </entry> 268 <entry namest="c2" nameend="c4" align="left"> 269 <emphasis>Diagnostics</emphasis> 270 </entry> 271 </row> 272 <row> 273 <entry>19.1</entry> 274 <entry>General</entry> 275 <entry>Y</entry> 276 <entry/> 277 </row> 278 <row> 279 <?dbhtml bgcolor="#B0B0B0" ?> 280 <entry>19.2</entry> 281 <entry>Exception classes</entry> 282 <entry>Partial</entry> 283 <entry>Missing <code>const char*</code> constructors.</entry> 284 </row> 285 <row> 286 <entry>19.3</entry> 287 <entry>Assertions</entry> 288 <entry>Y</entry> 289 <entry/> 290 </row> 291 <row> 292 <entry>19.4</entry> 293 <entry>Error numbers</entry> 294 <entry>Y</entry> 295 <entry/> 296 </row> 297 <row> 298 <entry>19.5</entry> 299 <entry>System error support</entry> 300 <entry/> 301 <entry/> 302 </row> 303 <row> 304 <entry>19.5.1</entry> 305 <entry>Class <code>error_category</code></entry> 306 <entry>Y</entry> 307 <entry/> 308 </row> 309 <row> 310 <entry>19.5.2</entry> 311 <entry>Class <code>error_code</code></entry> 312 <entry>Y</entry> 313 <entry/> 314 </row> 315 <row> 316 <entry>19.5.3</entry> 317 <entry>Class <code>error_condition</code></entry> 318 <entry>Y</entry> 319 <entry/> 320 </row> 321 <row> 322 <entry>19.5.4</entry> 323 <entry>Comparison operators</entry> 324 <entry>Y</entry> 325 <entry/> 326 </row> 327 <row> 328 <?dbhtml bgcolor="#B0B0B0" ?> 329 <entry>19.5.5</entry> 330 <entry>Class <code>system_error</code></entry> 331 <entry>Partial</entry> 332 <entry>Missing <code>const char*</code> constructors.</entry> 333 </row> 334 <row> 335 <entry> 336 <emphasis>20</emphasis> 337 </entry> 338 <entry namest="c2" nameend="c4" align="left"> 339 <emphasis>General utilities</emphasis> 340 </entry> 341 </row> 342 <row> 343 <entry>20.1</entry> 344 <entry>General</entry> 345 <entry/> 346 <entry/> 347 </row> 348 <row> 349 <entry>20.2</entry> 350 <entry>Utility components</entry> 351 <entry/> 352 <entry/> 353 </row> 354 <row> 355 <entry>20.2.1</entry> 356 <entry>Operators</entry> 357 <entry>Y</entry> 358 <entry/> 359 </row> 360 <row> 361 <entry>20.2.2</entry> 362 <entry>Swap</entry> 363 <entry>Y</entry> 364 <entry/> 365 </row> 366 <row> 367 <entry>20.2.3</entry> 368 <entry><code>forward</code> and <code>move</code> helpers</entry> 369 <entry>Y</entry> 370 <entry/> 371 </row> 372 <row> 373 <entry>20.2.4</entry> 374 <entry>Function template <code>declval</code></entry> 375 <entry>Y</entry> 376 <entry/> 377 </row> 378 <row> 379 <entry>20.3</entry> 380 <entry>Pairs</entry> 381 <entry/> 382 <entry/> 383 </row> 384 <row> 385 <entry>20.3.1</entry> 386 <entry>In general</entry> 387 <entry/> 388 <entry/> 389 </row> 390 <row> 391 <entry>20.3.2</entry> 392 <entry>Class template <code>pair</code></entry> 393 <entry>Y</entry> 394 <entry/> 395 </row> 396 <row> 397 <entry>20.3.3</entry> 398 <entry>Specialized algorithms</entry> 399 <entry>Y</entry> 400 <entry/> 401 </row> 402 <row> 403 <entry>20.3.4</entry> 404 <entry>Tuple-like access to <code>pair</code></entry> 405 <entry>Y</entry> 406 <entry/> 407 </row> 408 <row> 409 <entry>20.3.5</entry> 410 <entry>Piecewise construction</entry> 411 <entry>Y</entry> 412 <entry/> 413 </row> 414 <row> 415 <entry>20.4</entry> 416 <entry>Tuples</entry> 417 <entry/> 418 <entry/> 419 </row> 420 <row> 421 <entry>20.4.1</entry> 422 <entry>In general</entry> 423 <entry/> 424 <entry/> 425 </row> 426 <row> 427 <entry>20.4.2</entry> 428 <entry>Class template <code>tuple</code></entry> 429 <entry/> 430 <entry/> 431 </row> 432 <row> 433 <entry>20.4.2.1</entry> 434 <entry>Construction</entry> 435 <entry>Y</entry> 436 <entry/> 437 </row> 438 <row> 439 <entry>20.4.2.2</entry> 440 <entry>Assignment</entry> 441 <entry>Y</entry> 442 <entry/> 443 </row> 444 <row> 445 <entry>20.4.2.3</entry> 446 <entry>Swap</entry> 447 <entry>Y</entry> 448 <entry/> 449 </row> 450 <row> 451 <entry>20.4.2.4</entry> 452 <entry>Tuple creation functions</entry> 453 <entry>Y</entry> 454 <entry/> 455 </row> 456 <row> 457 <entry>20.4.2.5</entry> 458 <entry>Tuple helper classes</entry> 459 <entry>Y</entry> 460 <entry/> 461 </row> 462 <row> 463 <entry>20.4.2.6</entry> 464 <entry>Element access</entry> 465 <entry>Y</entry> 466 <entry/> 467 </row> 468 <row> 469 <entry>20.4.2.7</entry> 470 <entry>Relational operators</entry> 471 <entry>Y</entry> 472 <entry/> 473 </row> 474 <row> 475 <entry>20.4.2.8</entry> 476 <entry>Tuple traits</entry> 477 <entry>Y</entry> 478 <entry/> 479 </row> 480 <row> 481 <entry>20.4.2.9</entry> 482 <entry>Tuple specialized algorithms</entry> 483 <entry>Y</entry> 484 <entry/> 485 </row> 486 <row> 487 <entry>20.5</entry> 488 <entry>Class template <code>bitset</code></entry> 489 <entry>Y</entry> 490 <entry/> 491 </row> 492 <row> 493 <entry>20.5.1</entry> 494 <entry><code>bitset</code> constructors</entry> 495 <entry>Y</entry> 496 <entry/> 497 </row> 498 <row> 499 <entry>20.5.2</entry> 500 <entry><code>bitset</code> members</entry> 501 <entry>Y</entry> 502 <entry/> 503 </row> 504 <row> 505 <entry>20.5.3</entry> 506 <entry><code>bitset</code> hash support</entry> 507 <entry>Y</entry> 508 <entry/> 509 </row> 510 <row> 511 <entry>20.5.4</entry> 512 <entry><code>bitset</code> operators</entry> 513 <entry>Y</entry> 514 <entry/> 515 </row> 516 <row> 517 <entry>20.6</entry> 518 <entry>Memory</entry> 519 <entry/> 520 <entry/> 521 </row> 522 <row> 523 <entry>20.6.1</entry> 524 <entry>In general</entry> 525 <entry/> 526 <entry/> 527 </row> 528 <row> 529 <entry>20.6.2</entry> 530 <entry>Header <code><memory></code> synopsis</entry> 531 <entry/> 532 <entry/> 533 </row> 534 <row> 535 <entry>20.6.3</entry> 536 <entry>Pointer traits</entry> 537 <entry>Y</entry> 538 <entry/> 539 </row> 540 <row> 541 <?dbhtml bgcolor="#B0B0B0" ?> 542 <entry>20.6.4</entry> 543 <entry>Pointer safety</entry> 544 <entry>Partial</entry> 545 <entry/> 546 </row> 547 <row> 548 <?dbhtml bgcolor="#C8B0B0" ?> 549 <entry>20.6.5</entry> 550 <entry>Align</entry> 551 <entry>N</entry> 552 <entry/> 553 </row> 554 <row> 555 <entry>20.6.6</entry> 556 <entry>Allocator argument tag</entry> 557 <entry>Y</entry> 558 <entry/> 559 </row> 560 <row> 561 <entry>20.6.7</entry> 562 <entry><code>uses_allocator</code></entry> 563 <entry>Y</entry> 564 <entry/> 565 </row> 566 <row> 567 <entry>20.6.8</entry> 568 <entry>Allocator traits</entry> 569 <entry>Y</entry> 570 <entry/> 571 </row> 572 <row> 573 <entry>20.6.9</entry> 574 <entry>The default allocator</entry> 575 <entry>Y</entry> 576 <entry/> 577 </row> 578 <row> 579 <entry>20.6.10</entry> 580 <entry>Raw storage iterator</entry> 581 <entry>Y</entry> 582 <entry/> 583 </row> 584 <row> 585 <entry>20.6.11</entry> 586 <entry>Temporary buffers</entry> 587 <entry>Y</entry> 588 <entry/> 589 </row> 590 <row> 591 <entry>20.6.12</entry> 592 <entry>Specialized algorithms</entry> 593 <entry/> 594 <entry/> 595 </row> 596 <row> 597 <entry>20.6.12.1</entry> 598 <entry><code>addressof</code></entry> 599 <entry>Y</entry> 600 <entry/> 601 </row> 602 <row> 603 <entry>20.6.12.2</entry> 604 <entry><code>uninitialized_copy</code></entry> 605 <entry>Y</entry> 606 <entry/> 607 </row> 608 <row> 609 <entry>20.6.12.3</entry> 610 <entry><code>uninitialized_fill</code></entry> 611 <entry>Y</entry> 612 <entry/> 613 </row> 614 <row> 615 <entry>20.6.12.4</entry> 616 <entry><code>uninitialized_fill_n</code></entry> 617 <entry>Y</entry> 618 <entry/> 619 </row> 620 <row> 621 <entry>20.6.13</entry> 622 <entry>C library</entry> 623 <entry>Y</entry> 624 <entry/> 625 </row> 626 <row> 627 <entry>20.7</entry> 628 <entry>Smart pointers</entry> 629 <entry/> 630 <entry/> 631 </row> 632 <row> 633 <entry>20.7.1</entry> 634 <entry>Class template <code>unique_ptr</code></entry> 635 <entry>Y</entry> 636 <entry/> 637 </row> 638 <row> 639 <entry>20.7.2</entry> 640 <entry>Shared-ownership pointers</entry> 641 <entry>Y</entry> 642 <entry/> 643 </row> 644 <row> 645 <entry>20.7.2.1</entry> 646 <entry>Class <code>bad_weak_ptr</code></entry> 647 <entry>Y</entry> 648 <entry/> 649 </row> 650 <row> 651 <entry>20.7.2.2</entry> 652 <entry>Class template <code>shared_ptr</code></entry> 653 <entry>Y</entry> 654 <entry> 655 <para> 656 Uses code from 657 <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>. 658 </para> 659 </entry> 660 </row> 661 <row> 662 <entry>20.7.2.3</entry> 663 <entry>Class template <code>weak_ptr</code></entry> 664 <entry>Y</entry> 665 <entry/> 666 </row> 667 <row> 668 <entry>20.7.2.4</entry> 669 <entry>Class template <code>emable_shared_from_this</code></entry> 670 <entry>Y</entry> 671 <entry/> 672 </row> 673 <row> 674 <?dbhtml bgcolor="#B0B0B0" ?> 675 <entry>20.7.2.5</entry> 676 <entry><code>shared_ptr</code> atomic access</entry> 677 <entry>Partial</entry> 678 <entry/> 679 </row> 680 <row> 681 <entry>20.7.2.6</entry> 682 <entry>Smart pointer hash support</entry> 683 <entry>Y</entry> 684 <entry/> 685 </row> 686 <row> 687 <entry>20.8</entry> 688 <entry>Function objects</entry> 689 <entry/> 690 <entry/> 691 </row> 692 <row> 693 <entry>20.8.1</entry> 694 <entry>Definitions</entry> 695 <entry/> 696 <entry/> 697 </row> 698 <row> 699 <entry>20.8.2</entry> 700 <entry>Requirements</entry> 701 <entry/> 702 <entry/> 703 </row> 704 <row> 705 <entry>20.8.3</entry> 706 <entry>Class template <code>reference_wrapper</code></entry> 707 <entry>Y</entry> 708 <entry/> 709 </row> 710 <row> 711 <entry>20.8.4</entry> 712 <entry>Arithmetic operation</entry> 713 <entry>Y</entry> 714 <entry/> 715 </row> 716 <row> 717 <entry>20.8.5</entry> 718 <entry>Comparisons</entry> 719 <entry>Y</entry> 720 <entry/> 721 </row> 722 <row> 723 <entry>20.8.6</entry> 724 <entry>Logical operations</entry> 725 <entry>Y</entry> 726 <entry/> 727 </row> 728 <row> 729 <entry>20.8.7</entry> 730 <entry>Bitwise operations</entry> 731 <entry>Y</entry> 732 <entry/> 733 </row> 734 <row> 735 <entry>20.8.8</entry> 736 <entry>Negators</entry> 737 <entry>Y</entry> 738 <entry/> 739 </row> 740 <row> 741 <entry>20.8.9</entry> 742 <entry>Function template <code>bind</code></entry> 743 <entry>Y</entry> 744 <entry/> 745 </row> 746 <row> 747 <entry>20.8.10</entry> 748 <entry>Function template <code>mem_fn</code></entry> 749 <entry>Y</entry> 750 <entry/> 751 </row> 752 <row> 753 <entry>20.8.11</entry> 754 <entry>Polymorphic function wrappers</entry> 755 <entry/> 756 <entry/> 757 </row> 758 <row> 759 <entry>20.8.11.1</entry> 760 <entry>Class <code>bad_function_call</code></entry> 761 <entry>Y</entry> 762 <entry/> 763 </row> 764 <row> 765 <?dbhtml bgcolor="#B0B0B0" ?> 766 <entry>20.8.11.2</entry> 767 <entry>Class template <code>function</code></entry> 768 <entry>Partial</entry> 769 <entry>Missing allocator support</entry> 770 </row> 771 <row> 772 <entry>20.8.12</entry> 773 <entry>Class template <code>hash</code></entry> 774 <entry>Y</entry> 775 <entry/> 776 </row> 777 <row> 778 <entry>20.9</entry> 779 <entry>Metaprogramming and type traits</entry> 780 <entry/> 781 <entry/> 782 </row> 783 <row> 784 <entry>20.9.1</entry> 785 <entry>Requirements</entry> 786 <entry>Y</entry> 787 <entry/> 788 </row> 789 <row> 790 <entry>20.9.2</entry> 791 <entry>Header <code><type_traits></code> synopsis</entry> 792 <entry/> 793 <entry/> 794 </row> 795 <row> 796 <entry>20.9.3</entry> 797 <entry>Helper classes</entry> 798 <entry>Y</entry> 799 <entry/> 800 </row> 801 <row> 802 <entry>20.9.4</entry> 803 <entry>Unary Type Traits</entry> 804 <entry>Y</entry> 805 <entry/> 806 </row> 807 <row> 808 <entry>20.9.4.1</entry> 809 <entry>Primary type categories</entry> 810 <entry>Y</entry> 811 <entry/> 812 </row> 813 <row> 814 <entry>20.9.4.2</entry> 815 <entry>Composite type traits</entry> 816 <entry>Y</entry> 817 <entry/> 818 </row> 819 <row> 820 <?dbhtml bgcolor="#B0B0B0" ?> 821 <entry>20.9.4.3</entry> 822 <entry>Type properties</entry> 823 <entry>Partial</entry> 824 <entry>Missing is_trivially_copyable, 825 is_trivially_constructible, is_trivially_default_constructible, 826 is_trivially_copy_constructible, is_trivially_move_constructible, 827 is_trivially_assignable, is_trivially_default_assignable, 828 is_trivially_copy_assignable, is_trivially_move_assignable 829 </entry> 830 </row> 831 <row> 832 <entry>20.9.5</entry> 833 <entry>Type property queries</entry> 834 <entry>Y</entry> 835 <entry/> 836 </row> 837 <row> 838 <entry>20.9.6</entry> 839 <entry>Relationships between types</entry> 840 <entry>Y</entry> 841 <entry/> 842 </row> 843 <row> 844 <entry>20.9.7</entry> 845 <entry>Transformations between types</entry> 846 <entry/> 847 <entry/> 848 </row> 849 <row> 850 <entry>20.9.7.1</entry> 851 <entry>Const-volatile modifications</entry> 852 <entry>Y</entry> 853 <entry/> 854 </row> 855 <row> 856 <entry>20.9.7.2</entry> 857 <entry>Reference modifications</entry> 858 <entry>Y</entry> 859 <entry/> 860 </row> 861 <row> 862 <entry>20.9.7.3</entry> 863 <entry>Sign modifications</entry> 864 <entry>Y</entry> 865 <entry/> 866 </row> 867 <row> 868 <entry>20.9.7.4</entry> 869 <entry>Array modifications</entry> 870 <entry>Y</entry> 871 <entry/> 872 </row> 873 <row> 874 <entry>20.9.7.5</entry> 875 <entry>Pointer modifications</entry> 876 <entry>Y</entry> 877 <entry/> 878 </row> 879 <row> 880 <?dbhtml bgcolor="#B0B0B0" ?> 881 <entry>20.9.7.6</entry> 882 <entry>Other transformations</entry> 883 <entry>Partial</entry> 884 <entry>Missing <code>aligned_union</code>.</entry> 885 </row> 886 <row> 887 <entry>20.10</entry> 888 <entry>Compile-time rational arithmetic</entry> 889 <entry/> 890 <entry/> 891 </row> 892 <row> 893 <entry>20.10.1</entry> 894 <entry>In general</entry> 895 <entry/> 896 <entry/> 897 </row> 898 <row> 899 <entry>20.10.2</entry> 900 <entry>Header <code><ratio></code> synopsis</entry> 901 <entry/> 902 <entry/> 903 </row> 904 <row> 905 <entry>20.10.3</entry> 906 <entry>Class template <code>ratio</code></entry> 907 <entry>Y</entry> 908 <entry/> 909 </row> 910 <row> 911 <entry>20.10.4</entry> 912 <entry>Arithmetic on <code>ratio</code>s</entry> 913 <entry>Y</entry> 914 <entry/> 915 </row> 916 <row> 917 <entry>20.10.5</entry> 918 <entry>Comparison of <code>ratio</code>s</entry> 919 <entry>Y</entry> 920 <entry/> 921 </row> 922 <row> 923 <entry>20.10.6</entry> 924 <entry>SI types for <code>ratio</code></entry> 925 <entry>Y</entry> 926 <entry/> 927 </row> 928 <row> 929 <entry>20.11</entry> 930 <entry>Time utilities</entry> 931 <entry/> 932 <entry/> 933 </row> 934 <row> 935 <entry>20.11.3</entry> 936 <entry>Clock requirements</entry> 937 <entry>Y</entry> 938 <entry/> 939 </row> 940 <row> 941 <entry>20.11.4</entry> 942 <entry>Time-related traits</entry> 943 <entry/> 944 <entry/> 945 </row> 946 <row> 947 <entry>20.11.4.1</entry> 948 <entry><code>treat_as_floating_point</code></entry> 949 <entry>Y</entry> 950 <entry/> 951 </row> 952 <row> 953 <entry>20.11.4.2</entry> 954 <entry><code>duration_values</code></entry> 955 <entry>Y</entry> 956 <entry/> 957 </row> 958 <row> 959 <entry>20.11.4.3</entry> 960 <entry>Specializations of <code>common_type</code></entry> 961 <entry>Y</entry> 962 <entry/> 963 </row> 964 <row> 965 <?dbhtml bgcolor="#B0B0B0" ?> 966 <entry>20.11.5</entry> 967 <entry>Class template <code>duration</code></entry> 968 <entry>Partial</entry> 969 <entry>Missing constexpr for non-member arithmetic operations</entry> 970 </row> 971 <row> 972 <entry>20.11.6</entry> 973 <entry>Class template <code>time_point</code></entry> 974 <entry>Y</entry> 975 <entry/> 976 </row> 977 <row> 978 <entry>20.11.7</entry> 979 <entry>Clocks</entry> 980 <entry/> 981 <entry/> 982 </row> 983 <row> 984 <entry>20.11.7.1</entry> 985 <entry>Class <code>system_clock</code></entry> 986 <entry>Y</entry> 987 <entry/> 988 </row> 989 <row> 990 <entry>20.11.7.2</entry> 991 <entry>Class <code>steady_clock</code></entry> 992 <entry>Y</entry> 993 <entry/> 994 </row> 995 <row> 996 <entry>20.11.7.3</entry> 997 <entry>Class <code>high_resolution_clock</code></entry> 998 <entry>Y</entry> 999 <entry/> 1000 </row> 1001 <row> 1002 <entry>20.11.8</entry> 1003 <entry>Date and time functions</entry> 1004 <entry>Y</entry> 1005 <entry/> 1006 </row> 1007 <row> 1008 <?dbhtml bgcolor="#B0B0B0" ?> 1009 <entry>20.12</entry> 1010 <entry>Scoped allocator adaptor</entry> 1011 <entry>Partial</entry> 1012 <entry/> 1013 </row> 1014 <row> 1015 <entry>20.12.1</entry> 1016 <entry>Header <code><scoped_allocator></code> synopsis</entry> 1017 <entry/> 1018 <entry/> 1019 </row> 1020 <row> 1021 <entry>20.12.2</entry> 1022 <entry>Scoped allocator adaptor member types</entry> 1023 <entry>Y</entry> 1024 <entry/> 1025 </row> 1026 <row> 1027 <entry>20.12.3</entry> 1028 <entry>Scoped allocator adaptor constructors</entry> 1029 <entry>Y</entry> 1030 <entry/> 1031 </row> 1032 <row> 1033 <?dbhtml bgcolor="#B0B0B0" ?> 1034 <entry>20.12.4</entry> 1035 <entry>Scoped allocator adaptor members</entry> 1036 <entry>Partial</entry> 1037 <entry>OUTERMOST is not recursive.</entry> 1038 </row> 1039 <row> 1040 <entry>20.12.5</entry> 1041 <entry>Scoped allocator operators</entry> 1042 <entry>Y</entry> 1043 <entry/> 1044 </row> 1045 <row> 1046 <entry>20.13</entry> 1047 <entry>Class <code>type_index</code></entry> 1048 <entry>Y</entry> 1049 <entry/> 1050 </row> 1051 <row> 1052 <entry> 1053 <emphasis>21</emphasis> 1054 </entry> 1055 <entry namest="c2" nameend="c4" align="left"> 1056 <emphasis>Strings</emphasis> 1057 </entry> 1058 </row> 1059 <row> 1060 <entry>21.1</entry> 1061 <entry>General</entry> 1062 <entry>Y</entry> 1063 <entry/> 1064 </row> 1065 <row> 1066 <entry>21.2</entry> 1067 <entry>Character traits</entry> 1068 <entry/> 1069 <entry/> 1070 </row> 1071 <row> 1072 <entry>21.2.1</entry> 1073 <entry>Character traits requirements</entry> 1074 <entry>Y</entry> 1075 <entry/> 1076 </row> 1077 <row> 1078 <entry>21.2.2</entry> 1079 <entry>traits typedefs</entry> 1080 <entry>Y</entry> 1081 <entry/> 1082 </row> 1083 <row> 1084 <entry>21.2.3</entry> 1085 <entry><code>char_traits</code> specializations</entry> 1086 <entry/> 1087 <entry/> 1088 </row> 1089 <row> 1090 <?dbhtml bgcolor="#B0B0B0" ?> 1091 <entry>21.2.3.1</entry> 1092 <entry>struct <code>char_traits<char></code></entry> 1093 <entry>Partial</entry> 1094 <entry>Missing constexpr</entry> 1095 </row> 1096 <row> 1097 <?dbhtml bgcolor="#B0B0B0" ?> 1098 <entry>21.2.3.2</entry> 1099 <entry>struct <code>char_traits<char16_t></code></entry> 1100 <entry>Partial</entry> 1101 <entry>Missing constexpr</entry> 1102 </row> 1103 <row> 1104 <entry>21.2.3.3</entry> 1105 <entry>struct <code>char_traits<char32_t></code></entry> 1106 <entry>Y</entry> 1107 <entry/> 1108 </row> 1109 <row> 1110 <entry>21.2.3.4</entry> 1111 <entry>struct <code>char_traits<wchar_t></code></entry> 1112 <entry>Y</entry> 1113 <entry/> 1114 </row> 1115 <row> 1116 <entry>21.3</entry> 1117 <entry>String classes</entry> 1118 <entry>Y</entry> 1119 <entry/> 1120 </row> 1121 <row> 1122 <entry>21.4</entry> 1123 <entry>Class template <code>basic_string</code></entry> 1124 <entry>Y</entry> 1125 <entry/> 1126 </row> 1127 <row> 1128 <entry>21.5</entry> 1129 <entry>Numeric Conversions</entry> 1130 <entry>Y</entry> 1131 <entry/> 1132 </row> 1133 <row> 1134 <entry>21.6</entry> 1135 <entry>Hash support</entry> 1136 <entry>Y</entry> 1137 <entry/> 1138 </row> 1139 <row> 1140 <?dbhtml bgcolor="#B0B0B0" ?> 1141 <entry>21.7</entry> 1142 <entry>Null-terminated sequence utilities</entry> 1143 <entry>Partial</entry> 1144 <entry>C library dependency. 1145 Missing <filename class="headerfile"><cuchar></filename> 1146 </entry> 1147 </row> 1148 <row> 1149 <entry> 1150 <emphasis>22</emphasis> 1151 </entry> 1152 <entry namest="c2" nameend="c4" align="left"> 1153 <emphasis>Localization</emphasis> 1154 </entry> 1155 </row> 1156 <row> 1157 <entry>22.1</entry> 1158 <entry>General</entry> 1159 <entry>Y</entry> 1160 <entry/> 1161 </row> 1162 <row> 1163 <entry>22.2</entry> 1164 <entry>Header <code><locale></code> synopsis</entry> 1165 <entry>Y</entry> 1166 <entry/> 1167 </row> 1168 <row> 1169 <entry>22.3</entry> 1170 <entry>Locales</entry> 1171 <entry/> 1172 <entry/> 1173 </row> 1174 <row> 1175 <entry>22.3.1</entry> 1176 <entry>Class <code>locale</code></entry> 1177 <entry>Y</entry> 1178 <entry/> 1179 </row> 1180 <row> 1181 <entry>22.3.2</entry> 1182 <entry><code>locale</code> globals</entry> 1183 <entry>Y</entry> 1184 <entry/> 1185 </row> 1186 <row> 1187 <entry>22.3.3</entry> 1188 <entry>Convenience interfaces</entry> 1189 <entry/> 1190 <entry/> 1191 </row> 1192 <row> 1193 <entry>22.3.3.1</entry> 1194 <entry>Character classification</entry> 1195 <entry>Y</entry> 1196 <entry/> 1197 </row> 1198 <row> 1199 <entry>22.3.3.2</entry> 1200 <entry>Conversions</entry> 1201 <entry/> 1202 <entry/> 1203 </row> 1204 <row> 1205 <entry>22.3.3.2.1</entry> 1206 <entry>Character conversions</entry> 1207 <entry>Y</entry> 1208 <entry/> 1209 </row> 1210 <row> 1211 <?dbhtml bgcolor="#C8B0B0" ?> 1212 <entry>22.3.3.2.2</entry> 1213 <entry><code>string</code> conversions</entry> 1214 <entry>N</entry> 1215 <entry/> 1216 </row> 1217 <row> 1218 <?dbhtml bgcolor="#C8B0B0" ?> 1219 <entry>22.3.3.2.3</entry> 1220 <entry>Buffer conversions</entry> 1221 <entry>N</entry> 1222 <entry/> 1223 </row> 1224 <row> 1225 <entry>22.4</entry> 1226 <entry>Standard <code>locale</code> categories</entry> 1227 <entry/> 1228 <entry/> 1229 </row> 1230 <row> 1231 <?dbhtml bgcolor="#B0B0B0" ?> 1232 <entry>22.4.1</entry> 1233 <entry>The <code>ctype</code> category</entry> 1234 <entry>Partial</entry> 1235 <entry>Missing <code>codecvt<char16_t></code> and 1236 <code>codecvt<char32_t></code></entry> 1237 </row> 1238 <row> 1239 <entry>22.4.2</entry> 1240 <entry>The numeric category</entry> 1241 <entry/> 1242 <entry/> 1243 </row> 1244 <row> 1245 <entry>22.4.2.1</entry> 1246 <entry><code>num_get</code></entry> 1247 <entry>Y</entry> 1248 <entry/> 1249 </row> 1250 <row> 1251 <entry>22.4.2.2</entry> 1252 <entry><code>num_put</code></entry> 1253 <entry>Y</entry> 1254 <entry/> 1255 </row> 1256 <row> 1257 <entry>22.4.3</entry> 1258 <entry>The numeric punctuation facet</entry> 1259 <entry>Y</entry> 1260 <entry/> 1261 </row> 1262 <row> 1263 <entry>22.4.4</entry> 1264 <entry>The collate category</entry> 1265 <entry>Y</entry> 1266 <entry/> 1267 </row> 1268 <row> 1269 <entry>22.4.5</entry> 1270 <entry>The time category</entry> 1271 <entry/> 1272 <entry/> 1273 </row> 1274 <row> 1275 <entry>22.4.5.1</entry> 1276 <entry>Class template <code>time_get</code></entry> 1277 <entry>Y</entry> 1278 <entry/> 1279 </row> 1280 <row> 1281 <entry>22.4.5.2</entry> 1282 <entry>Class template <code>time_get_byname</code></entry> 1283 <entry>Y</entry> 1284 <entry/> 1285 </row> 1286 <row> 1287 <entry>22.4.5.3</entry> 1288 <entry>Class template <code>time_put</code></entry> 1289 <entry>Y</entry> 1290 <entry/> 1291 </row> 1292 <row> 1293 <entry>22.4.5.3</entry> 1294 <entry>Class template <code>time_put_byname</code></entry> 1295 <entry>Y</entry> 1296 <entry/> 1297 </row> 1298 <row> 1299 <entry>22.4.6</entry> 1300 <entry>The monetary category</entry> 1301 <entry/> 1302 <entry/> 1303 </row> 1304 <row> 1305 <entry>22.4.6.1</entry> 1306 <entry>Class template <code>money_get</code></entry> 1307 <entry>Y</entry> 1308 <entry/> 1309 </row> 1310 <row> 1311 <entry>22.4.6.2</entry> 1312 <entry>Class template <code>money_put</code></entry> 1313 <entry>Y</entry> 1314 <entry/> 1315 </row> 1316 <row> 1317 <entry>22.4.6.3</entry> 1318 <entry>Class template <code>money_punct</code></entry> 1319 <entry>Y</entry> 1320 <entry/> 1321 </row> 1322 <row> 1323 <entry>22.4.6.4</entry> 1324 <entry>Class template <code>money_punct_byname</code></entry> 1325 <entry>Y</entry> 1326 <entry/> 1327 </row> 1328 <row> 1329 <entry>22.4.7</entry> 1330 <entry>The message retrieval category</entry> 1331 <entry>Y</entry> 1332 <entry/> 1333 </row> 1334 <row> 1335 <entry>22.4.8</entry> 1336 <entry>Program-defined facets</entry> 1337 <entry>Y</entry> 1338 <entry/> 1339 </row> 1340 <row> 1341 <?dbhtml bgcolor="#C8B0B0" ?> 1342 <entry>22.5</entry> 1343 <entry>Standard code conversion facets</entry> 1344 <entry>N</entry> 1345 <entry/> 1346 </row> 1347 <row> 1348 <entry>22.6</entry> 1349 <entry>C Library Locales</entry> 1350 <entry>Y</entry> 1351 <entry/> 1352 </row> 1353 <row> 1354 <entry> 1355 <emphasis>23</emphasis> 1356 </entry> 1357 <entry namest="c2" nameend="c4" align="left"> 1358 <emphasis>Containers</emphasis> 1359 </entry> 1360 </row> 1361 <row> 1362 <entry>23.1</entry> 1363 <entry>General</entry> 1364 <entry/> 1365 <entry/> 1366 </row> 1367 <row> 1368 <entry>23.2</entry> 1369 <entry>Container requirements</entry> 1370 <entry/> 1371 <entry/> 1372 </row> 1373 <row> 1374 <?dbhtml bgcolor="#B0B0B0" ?> 1375 <entry>23.2.1</entry> 1376 <entry>General container requirements</entry> 1377 <entry>Partial</entry> 1378 <entry>Only <code>vector</code> and <code>forward_list</code> 1379 meet the requirements 1380 relating to allocator use and propagation.</entry> 1381 </row> 1382 <row> 1383 <entry>23.2.2</entry> 1384 <entry>Container data races</entry> 1385 <entry>Y</entry> 1386 <entry/> 1387 </row> 1388 <row> 1389 <entry>23.2.3</entry> 1390 <entry>Sequence containers</entry> 1391 <entry>Y</entry> 1392 <entry/> 1393 </row> 1394 <row> 1395 <entry>23.2.4</entry> 1396 <entry>Associative containers</entry> 1397 <entry>Y</entry> 1398 <entry/> 1399 </row> 1400 <row> 1401 <entry>23.2.5</entry> 1402 <entry>Unordered associative containers</entry> 1403 <entry>Y</entry> 1404 <entry/> 1405 </row> 1406 <row> 1407 <entry>23.3</entry> 1408 <entry>Sequence containers</entry> 1409 <entry/> 1410 <entry/> 1411 </row> 1412 <row> 1413 <entry>23.3.2</entry> 1414 <entry>Class template <code>array</code></entry> 1415 <entry>Y</entry> 1416 <entry/> 1417 </row> 1418 <row> 1419 <?dbhtml bgcolor="#B0B0B0" ?> 1420 <entry>23.3.3</entry> 1421 <entry>Class template <code>deque</code></entry> 1422 <entry>Partial</entry> 1423 <entry><code>insert</code> and <code>erase</code> members do not 1424 take <code>const_iterator</code> arguments (N2350).</entry> 1425 </row> 1426 <row> 1427 <entry>23.3.4</entry> 1428 <entry>Class template <code>forward_list</code></entry> 1429 <entry>Y</entry> 1430 <entry/> 1431 </row> 1432 <row> 1433 <?dbhtml bgcolor="#B0B0B0" ?> 1434 <entry>23.3.5</entry> 1435 <entry>Class template <code>list</code></entry> 1436 <entry>Partial</entry> 1437 <entry><code>insert</code> and <code>erase</code> members do not 1438 take <code>const_iterator</code> arguments (N2350).</entry> 1439 </row> 1440 <row> 1441 <?dbhtml bgcolor="#B0B0B0" ?> 1442 <entry>23.3.6</entry> 1443 <entry>Class template <code>vector</code></entry> 1444 <entry>Partial</entry> 1445 <entry><code>insert</code> and <code>erase</code> members do not 1446 take <code>const_iterator</code> arguments (N2350).</entry> 1447 </row> 1448 <row> 1449 <?dbhtml bgcolor="#B0B0B0" ?> 1450 <entry>23.3.7</entry> 1451 <entry>Class <code>vector<bool></code></entry> 1452 <entry>Partial</entry> 1453 <entry><code>insert</code> and <code>erase</code> members do not 1454 take <code>const_iterator</code> arguments (N2350).</entry> 1455 </row> 1456 <row> 1457 <entry>23.4</entry> 1458 <entry>Associative containers</entry> 1459 <entry/> 1460 <entry/> 1461 </row> 1462 <row> 1463 <entry>23.4.4</entry> 1464 <entry>Class template <code>map</code></entry> 1465 <entry>Y</entry> 1466 <entry/> 1467 </row> 1468 <row> 1469 <entry>23.4.5</entry> 1470 <entry>Class template <code>multimap</code></entry> 1471 <entry>Y</entry> 1472 <entry/> 1473 </row> 1474 <row> 1475 <entry>23.4.6</entry> 1476 <entry>Class template <code>set</code></entry> 1477 <entry>Y</entry> 1478 <entry/> 1479 </row> 1480 <row> 1481 <entry>23.4.7</entry> 1482 <entry>Class template <code>multiset</code></entry> 1483 <entry>Y</entry> 1484 <entry/> 1485 </row> 1486 <row> 1487 <entry>23.5</entry> 1488 <entry>Unordered associative containers</entry> 1489 <entry/> 1490 <entry/> 1491 </row> 1492 <row> 1493 <entry>23.5.4</entry> 1494 <entry>Class template <code>unordered_map</code></entry> 1495 <entry>Y</entry> 1496 <entry/> 1497 </row> 1498 <row> 1499 <entry>23.5.5</entry> 1500 <entry>Class template <code>unordered_multimap</code></entry> 1501 <entry>Y</entry> 1502 <entry/> 1503 </row> 1504 <row> 1505 <entry>23.5.6</entry> 1506 <entry>Class template <code>unordered_set</code></entry> 1507 <entry>Y</entry> 1508 <entry/> 1509 </row> 1510 <row> 1511 <entry>23.5.7</entry> 1512 <entry>Class template <code>unordered_multiset</code></entry> 1513 <entry>Y</entry> 1514 <entry/> 1515 </row> 1516 <row> 1517 <entry>23.6</entry> 1518 <entry>Container adaptors</entry> 1519 <entry/> 1520 <entry/> 1521 </row> 1522 <row> 1523 <entry>23.6.1</entry> 1524 <entry>Class template <code>queue</code></entry> 1525 <entry>Y</entry> 1526 <entry/> 1527 </row> 1528 <row> 1529 <entry>23.6.2</entry> 1530 <entry>Class template <code>priority_queue</code></entry> 1531 <entry>Y</entry> 1532 <entry/> 1533 </row> 1534 <row> 1535 <entry>23.6.3</entry> 1536 <entry>Class template <code>stack</code></entry> 1537 <entry>Y</entry> 1538 <entry/> 1539 </row> 1540 <row> 1541 <entry> 1542 <emphasis>24</emphasis> 1543 </entry> 1544 <entry namest="c2" nameend="c4" align="left"> 1545 <emphasis>Iterators</emphasis> 1546 </entry> 1547 </row> 1548 <row> 1549 <entry>24.1</entry> 1550 <entry>General</entry> 1551 <entry>Y</entry> 1552 <entry/> 1553 </row> 1554 <row> 1555 <entry>24.2</entry> 1556 <entry>Iterator requirements</entry> 1557 <entry>Y</entry> 1558 <entry/> 1559 </row> 1560 <row> 1561 <entry>24.3</entry> 1562 <entry>Header <code><iterator></code> synopsis</entry> 1563 <entry>Y</entry> 1564 <entry/> 1565 </row> 1566 <row> 1567 <entry>24.4</entry> 1568 <entry>Iterator primitives</entry> 1569 <entry>Y</entry> 1570 <entry/> 1571 </row> 1572 <row> 1573 <entry>24.5</entry> 1574 <entry>Iterator adaptors</entry> 1575 <entry/> 1576 <entry/> 1577 </row> 1578 <row> 1579 <entry>24.5.1</entry> 1580 <entry>Reverse iterators</entry> 1581 <entry>Y</entry> 1582 <entry/> 1583 </row> 1584 <row> 1585 <entry>24.5.2</entry> 1586 <entry>Insert iterators</entry> 1587 <entry>Y</entry> 1588 <entry/> 1589 </row> 1590 <row> 1591 <entry>24.5.3</entry> 1592 <entry>Move iterators</entry> 1593 <entry>Y</entry> 1594 <entry/> 1595 </row> 1596 <row> 1597 <entry>24.6</entry> 1598 <entry>Stream iterators</entry> 1599 <entry/> 1600 <entry/> 1601 </row> 1602 <row> 1603 <entry>24.6.1</entry> 1604 <entry>Class template <code>istream_iterator</code></entry> 1605 <entry>Y</entry> 1606 <entry/> 1607 </row> 1608 <row> 1609 <entry>24.6.2</entry> 1610 <entry>Class template <code>ostream_iterator</code></entry> 1611 <entry>Y</entry> 1612 <entry/> 1613 </row> 1614 <row> 1615 <entry>24.6.3</entry> 1616 <entry>Class template <code>istreambuf_iterator</code></entry> 1617 <entry>Y</entry> 1618 <entry/> 1619 </row> 1620 <row> 1621 <entry>24.6.4</entry> 1622 <entry>Class template <code>ostreambuf_iterator</code></entry> 1623 <entry>Y</entry> 1624 <entry/> 1625 </row> 1626 <row> 1627 <entry>24.6.5</entry> 1628 <entry>range access</entry> 1629 <entry>Y</entry> 1630 <entry/> 1631 </row> 1632 <row> 1633 <entry> 1634 <emphasis>25</emphasis> 1635 </entry> 1636 <entry namest="c2" nameend="c4" align="left"> 1637 <emphasis>Algorithms</emphasis> 1638 </entry> 1639 </row> 1640 <row> 1641 <entry>25.1</entry> 1642 <entry>General</entry> 1643 <entry/> 1644 <entry/> 1645 </row> 1646 <row> 1647 <entry>25.2</entry> 1648 <entry>Non-modifying sequence operations</entry> 1649 <entry>Y</entry> 1650 <entry/> 1651 </row> 1652 <row> 1653 <entry>25.3</entry> 1654 <entry>Mutating sequence operations</entry> 1655 <entry>Y</entry> 1656 <entry/> 1657 </row> 1658 <row> 1659 <entry>25.4</entry> 1660 <entry>Sorting and related operations</entry> 1661 <entry>Y</entry> 1662 <entry/> 1663 </row> 1664 <row> 1665 <entry>25.5</entry> 1666 <entry>C library algorithms</entry> 1667 <entry>Y</entry> 1668 <entry/> 1669 </row> 1670 <row> 1671 <entry> 1672 <emphasis>26</emphasis> 1673 </entry> 1674 <entry namest="c2" nameend="c4" align="left"> 1675 <emphasis>Numerics</emphasis> 1676 </entry> 1677 </row> 1678 <row> 1679 <entry>26.1</entry> 1680 <entry>General</entry> 1681 <entry>Y</entry> 1682 <entry/> 1683 </row> 1684 <row> 1685 <entry>26.2</entry> 1686 <entry>Numeric type requirements</entry> 1687 <entry>Y</entry> 1688 <entry/> 1689 </row> 1690 <row> 1691 <entry>26.3</entry> 1692 <entry>The floating-point environment</entry> 1693 <entry>Y</entry> 1694 <entry/> 1695 </row> 1696 <row> 1697 <entry>26.4</entry> 1698 <entry>Complex numbers</entry> 1699 <entry>Partial</entry> 1700 <entry>Missing constexpr</entry> 1701 </row> 1702 <row> 1703 <entry>26.5</entry> 1704 <entry>Random number generation</entry> 1705 <entry/> 1706 <entry/> 1707 </row> 1708 <row> 1709 <entry>26.5.1</entry> 1710 <entry>Requirements</entry> 1711 <entry/> 1712 <entry/> 1713 </row> 1714 <row> 1715 <entry>26.5.2</entry> 1716 <entry>Header <code><random></code> synopsis</entry> 1717 <entry/> 1718 <entry/> 1719 </row> 1720 <row> 1721 <entry>26.5.3</entry> 1722 <entry>Random number engine class templates</entry> 1723 <entry/> 1724 <entry/> 1725 </row> 1726 <row> 1727 <entry>26.5.3.1</entry> 1728 <entry>Class template <code>linear_congruential_engine</code></entry> 1729 <entry>Y</entry> 1730 <entry>Missing constexpr</entry> 1731 </row> 1732 <row> 1733 <entry>26.5.3.2</entry> 1734 <entry>Class template <code>mersenne_twister_engine</code></entry> 1735 <entry>Y</entry> 1736 <entry>Missing constexpr</entry> 1737 </row> 1738 <row> 1739 <entry>26.5.3.3</entry> 1740 <entry>Class template <code>subtract_with_carry_engine</code></entry> 1741 <entry>Y</entry> 1742 <entry>Missing constexpr</entry> 1743 </row> 1744 <row> 1745 <entry>26.5.4</entry> 1746 <entry>Random number engine adaptor class templates</entry> 1747 <entry/> 1748 <entry/> 1749 </row> 1750 <row> 1751 <entry>26.5.4.2</entry> 1752 <entry>Class template <code>discard_block_engine</code></entry> 1753 <entry>Y</entry> 1754 <entry>Missing constexpr</entry> 1755 </row> 1756 <row> 1757 <entry>26.5.4.3</entry> 1758 <entry>Class template <code>independent_bits_engine</code></entry> 1759 <entry>Y</entry> 1760 <entry>Missing constexpr</entry> 1761 </row> 1762 <row> 1763 <entry>26.5.4.4</entry> 1764 <entry>Class template <code>shuffle_order_engine</code></entry> 1765 <entry>Y</entry> 1766 <entry>Missing constexpr</entry> 1767 </row> 1768 <row> 1769 <entry>26.5.5</entry> 1770 <entry>Engines and engine adaptors with predefined parameters</entry> 1771 <entry>Y</entry> 1772 <entry/> 1773 </row> 1774 <row> 1775 <entry>26.5.6</entry> 1776 <entry>Class <code>random_device</code></entry> 1777 <entry>Y</entry> 1778 <entry>Missing constexpr</entry> 1779 </row> 1780 <row> 1781 <entry>26.5.7</entry> 1782 <entry>Utilities</entry> 1783 <entry/> 1784 <entry/> 1785 </row> 1786 <row> 1787 <entry>26.5.7.1</entry> 1788 <entry>Class <code>seed_seq</code></entry> 1789 <entry>Y</entry> 1790 <entry/> 1791 </row> 1792 <row> 1793 <entry>26.5.7.2</entry> 1794 <entry>Function template <code>generate_canonical</code></entry> 1795 <entry>Y</entry> 1796 <entry/> 1797 </row> 1798 <row> 1799 <entry>26.5.8</entry> 1800 <entry>Random number distribution class templates</entry> 1801 <entry/> 1802 <entry/> 1803 </row> 1804 <row> 1805 <entry>26.5.8.2</entry> 1806 <entry>Uniform distributions</entry> 1807 <entry/> 1808 <entry/> 1809 </row> 1810 <row> 1811 <entry>26.5.8.2.1</entry> 1812 <entry>Class template <code>uniform_int_distribution</code></entry> 1813 <entry>Y</entry> 1814 <entry/> 1815 </row> 1816 <row> 1817 <entry>26.5.8.2.2</entry> 1818 <entry>Class template <code>uniform_real_distribution</code></entry> 1819 <entry>Y</entry> 1820 <entry/> 1821 </row> 1822 <row> 1823 <entry>26.5.8.3</entry> 1824 <entry>Bernoulli distributions</entry> 1825 <entry/> 1826 <entry/> 1827 </row> 1828 <row> 1829 <entry>26.5.8.3.1</entry> 1830 <entry>Class <code>bernoulli_distribution</code></entry> 1831 <entry>Y</entry> 1832 <entry/> 1833 </row> 1834 <row> 1835 <entry>26.5.8.3.2</entry> 1836 <entry>Class template <code>binomial_distribution</code></entry> 1837 <entry>Y</entry> 1838 <entry/> 1839 </row> 1840 <row> 1841 <entry>26.5.8.3.3</entry> 1842 <entry>Class template <code>geometric_distribution</code></entry> 1843 <entry>Y</entry> 1844 <entry/> 1845 </row> 1846 <row> 1847 <entry>26.5.8.3.4</entry> 1848 <entry>Class template <code>negative_binomial_distribution</code></entry> 1849 <entry>Y</entry> 1850 <entry/> 1851 </row> 1852 <row> 1853 <entry>26.5.8.4</entry> 1854 <entry>Poisson distributions</entry> 1855 <entry/> 1856 <entry/> 1857 </row> 1858 <row> 1859 <entry>26.5.8.4.1</entry> 1860 <entry>Class template <code>poisson_distribution</code></entry> 1861 <entry>Y</entry> 1862 <entry/> 1863 </row> 1864 <row> 1865 <entry>26.5.8.4.2</entry> 1866 <entry>Class template <code>exponential_distribution</code></entry> 1867 <entry>Y</entry> 1868 <entry/> 1869 </row> 1870 <row> 1871 <entry>26.5.8.4.3</entry> 1872 <entry>Class template <code>gamma_distribution</code></entry> 1873 <entry>Y</entry> 1874 <entry/> 1875 </row> 1876 <row> 1877 <entry>26.5.8.4.4</entry> 1878 <entry>Class template <code>weibull_distribution</code></entry> 1879 <entry>Y</entry> 1880 <entry/> 1881 </row> 1882 <row> 1883 <entry>26.5.8.4.5</entry> 1884 <entry>Class template <code>extreme_value_distribution</code></entry> 1885 <entry>Y</entry> 1886 <entry/> 1887 </row> 1888 <row> 1889 <entry>26.5.8.5</entry> 1890 <entry>Normal distributions</entry> 1891 <entry/> 1892 <entry/> 1893 </row> 1894 <row> 1895 <entry>26.5.8.5.1</entry> 1896 <entry>Class template <code>normal_distribution</code></entry> 1897 <entry>Y</entry> 1898 <entry/> 1899 </row> 1900 <row> 1901 <entry>26.5.8.5.2</entry> 1902 <entry>Class template <code>lognormal_distribution</code></entry> 1903 <entry>Y</entry> 1904 <entry/> 1905 </row> 1906 <row> 1907 <entry>26.5.8.5.3</entry> 1908 <entry>Class template <code>chi_squared_distribution</code></entry> 1909 <entry>Y</entry> 1910 <entry/> 1911 </row> 1912 <row> 1913 <entry>26.5.8.5.4</entry> 1914 <entry>Class template <code>cauchy_distribution</code></entry> 1915 <entry>Y</entry> 1916 <entry/> 1917 </row> 1918 <row> 1919 <entry>26.5.8.5.5</entry> 1920 <entry>Class template <code>fisher_f_distribution</code></entry> 1921 <entry>Y</entry> 1922 <entry/> 1923 </row> 1924 <row> 1925 <entry>26.5.8.5.6</entry> 1926 <entry>Class template <code>student_t_distribution</code></entry> 1927 <entry>Y</entry> 1928 <entry/> 1929 </row> 1930 <row> 1931 <entry>26.5.8.6</entry> 1932 <entry>Sampling distributions</entry> 1933 <entry/> 1934 <entry/> 1935 </row> 1936 <row> 1937 <entry>26.5.8.6.1</entry> 1938 <entry>Class template <code>discrete_distribution</code></entry> 1939 <entry>Y</entry> 1940 <entry/> 1941 </row> 1942 <row> 1943 <entry>26.5.8.6.2</entry> 1944 <entry>Class template <code>piecewise_constant_distribution</code></entry> 1945 <entry>Y</entry> 1946 <entry/> 1947 </row> 1948 <row> 1949 <entry>26.5.8.6.3</entry> 1950 <entry>Class template <code>piecewise_linear_distribution</code></entry> 1951 <entry>Y</entry> 1952 <entry/> 1953 </row> 1954 <row> 1955 <entry>26.6</entry> 1956 <entry>Numeric arrays</entry> 1957 <entry/> 1958 <entry/> 1959 </row> 1960 <row> 1961 <entry>26.6.1</entry> 1962 <entry>Header <code><valarray></code> synopsis</entry> 1963 <entry>Y</entry> 1964 <entry/> 1965 </row> 1966 <row> 1967 <entry>26.6.2</entry> 1968 <entry>Class template <code>valarray</code></entry> 1969 <entry>Y</entry> 1970 <entry/> 1971 </row> 1972 <row> 1973 <entry>26.6.3</entry> 1974 <entry><code>valarray</code> non-member operations</entry> 1975 <entry>Y</entry> 1976 <entry/> 1977 </row> 1978 <row> 1979 <entry>26.6.4</entry> 1980 <entry>Class <code>slice</code></entry> 1981 <entry>Y</entry> 1982 <entry/> 1983 </row> 1984 <row> 1985 <entry>26.6.5</entry> 1986 <entry>Class template <code>slice_array</code></entry> 1987 <entry>Y</entry> 1988 <entry/> 1989 </row> 1990 <row> 1991 <entry>26.6.6</entry> 1992 <entry>The <code>gslice</code> class</entry> 1993 <entry>Y</entry> 1994 <entry/> 1995 </row> 1996 <row> 1997 <entry>26.6.7</entry> 1998 <entry>Class template <code>gslice_array</code></entry> 1999 <entry>Y</entry> 2000 <entry/> 2001 </row> 2002 <row> 2003 <entry>26.6.8</entry> 2004 <entry>Class template <code>mask_array</code></entry> 2005 <entry>Y</entry> 2006 <entry/> 2007 </row> 2008 <row> 2009 <entry>26.6.9</entry> 2010 <entry>Class template <code>indirect_array</code></entry> 2011 <entry>Y</entry> 2012 <entry/> 2013 </row> 2014 <row> 2015 <entry>26.6.10</entry> 2016 <entry><code>valarray</code> range access</entry> 2017 <entry>Y</entry> 2018 <entry/> 2019 </row> 2020 <row> 2021 <entry>26.7</entry> 2022 <entry>Generalized numeric operations</entry> 2023 <entry/> 2024 <entry/> 2025 </row> 2026 <row> 2027 <entry>26.7.1</entry> 2028 <entry>Header <code><numeric></code> synopsis</entry> 2029 <entry>Y</entry> 2030 <entry/> 2031 </row> 2032 <row> 2033 <entry>26.7.2</entry> 2034 <entry><code>accumulate</code></entry> 2035 <entry>Y</entry> 2036 <entry/> 2037 </row> 2038 <row> 2039 <entry>26.7.3</entry> 2040 <entry><code>inner_product</code></entry> 2041 <entry>Y</entry> 2042 <entry/> 2043 </row> 2044 <row> 2045 <entry>26.7.4</entry> 2046 <entry><code>partial_sum</code></entry> 2047 <entry>Y</entry> 2048 <entry/> 2049 </row> 2050 <row> 2051 <entry>26.7.5</entry> 2052 <entry><code>adjacent_difference</code></entry> 2053 <entry>Y</entry> 2054 <entry/> 2055 </row> 2056 <row> 2057 <entry>26.7.6</entry> 2058 <entry>iota</entry> 2059 <entry>Y</entry> 2060 <entry/> 2061 </row> 2062 <row> 2063 <entry>26.8</entry> 2064 <entry>C Library</entry> 2065 <entry>Y</entry> 2066 <entry/> 2067 </row> 2068 <row> 2069 <entry> 2070 <emphasis>27</emphasis> 2071 </entry> 2072 <entry namest="c2" nameend="c4" align="left"> 2073 <emphasis>Input/output library</emphasis> 2074 </entry> 2075 </row> 2076 <row> 2077 <entry>27.1</entry> 2078 <entry>General</entry> 2079 <entry>Y</entry> 2080 <entry/> 2081 </row> 2082 <row> 2083 <entry>27.2</entry> 2084 <entry>Iostreams requirements</entry> 2085 <entry>Y</entry> 2086 <entry/> 2087 </row> 2088 <row> 2089 <entry>27.2.1</entry> 2090 <entry>Imbue Limitations</entry> 2091 <entry>Y</entry> 2092 <entry/> 2093 </row> 2094 <row> 2095 <entry>27.2.2</entry> 2096 <entry>Positioning Type Limitations</entry> 2097 <entry>Y</entry> 2098 <entry/> 2099 </row> 2100 <row> 2101 <?dbhtml bgcolor="#B0B0B0" ?> 2102 <entry>27.2.3</entry> 2103 <entry>Thread safety</entry> 2104 <entry>Partial</entry> 2105 <entry/> 2106 </row> 2107 <row> 2108 <entry>27.3</entry> 2109 <entry>Forward declarations</entry> 2110 <entry>Y</entry> 2111 <entry/> 2112 </row> 2113 <row> 2114 <entry>27.4</entry> 2115 <entry>Standard iostream objects</entry> 2116 <entry>Y</entry> 2117 <entry/> 2118 </row> 2119 <row> 2120 <entry>27.4.1</entry> 2121 <entry>Overview</entry> 2122 <entry>Y</entry> 2123 <entry/> 2124 </row> 2125 <row> 2126 <entry>27.4.2</entry> 2127 <entry>Narrow stream objects</entry> 2128 <entry>Y</entry> 2129 <entry/> 2130 </row> 2131 <row> 2132 <entry>27.4.3</entry> 2133 <entry>Wide stream objects</entry> 2134 <entry>Y</entry> 2135 <entry/> 2136 </row> 2137 <row> 2138 <?dbhtml bgcolor="#B0B0B0" ?> 2139 <entry>27.5</entry> 2140 <entry>Iostreams base classes</entry> 2141 <entry>Partial</entry> 2142 <entry> 2143 Missing move and swap operations on <code>basic_ios</code>. 2144 Missing <code>io_errc</code> and <code>iostream_category</code>. 2145 <code>ios_base::failure</code> is not derived from <code>system_error</code>. 2146 </entry> 2147 </row> 2148 <row> 2149 <entry>27.6</entry> 2150 <entry>Stream buffers</entry> 2151 <entry>Y</entry> 2152 <entry/> 2153 </row> 2154 <row> 2155 <?dbhtml bgcolor="#B0B0B0" ?> 2156 <entry>27.7</entry> 2157 <entry>Formatting and manipulators</entry> 2158 <entry>Partial</entry> 2159 <entry> 2160 Missing move and swap operations 2161 Missing <code>get_time</code> and <code>put_time</code> manipulators. 2162 </entry> 2163 </row> 2164 <row> 2165 <?dbhtml bgcolor="#B0B0B0" ?> 2166 <entry>27.8</entry> 2167 <entry>String-based streams</entry> 2168 <entry>Partial</entry> 2169 <entry>Missing move and swap operations</entry> 2170 </row> 2171 <row> 2172 <?dbhtml bgcolor="#B0B0B0" ?> 2173 <entry>27.9</entry> 2174 <entry>File-based streams</entry> 2175 <entry>Partial</entry> 2176 <entry>Missing move and swap operations</entry> 2177 </row> 2178 <row> 2179 <entry> 2180 <emphasis>28</emphasis> 2181 </entry> 2182 <entry namest="c2" nameend="c4" align="left"> 2183 <emphasis>Regular expressions</emphasis> 2184 </entry> 2185 </row> 2186 <row> 2187 <?dbhtml bgcolor="#C8B0B0" ?> 2188 <entry>28.1</entry> 2189 <entry>General</entry> 2190 <entry>N</entry> 2191 <entry/> 2192 </row> 2193 <row> 2194 <?dbhtml bgcolor="#C8B0B0" ?> 2195 <entry>28.2</entry> 2196 <entry>Definitions</entry> 2197 <entry>N</entry> 2198 <entry/> 2199 </row> 2200 <row> 2201 <?dbhtml bgcolor="#C8B0B0" ?> 2202 <entry>28.3</entry> 2203 <entry>Requirements</entry> 2204 <entry>N</entry> 2205 <entry/> 2206 </row> 2207 <row> 2208 <?dbhtml bgcolor="#C8B0B0" ?> 2209 <entry>28.4</entry> 2210 <entry>Header <code><regex></code> synopsis</entry> 2211 <entry>N</entry> 2212 <entry/> 2213 </row> 2214 <row> 2215 <entry>28.5</entry> 2216 <entry>Namespace <code>std::regex_constants</code></entry> 2217 <entry>Y</entry> 2218 <entry/> 2219 </row> 2220 <row> 2221 <entry>28.6</entry> 2222 <entry>Class <code>regex_error</code></entry> 2223 <entry>Y</entry> 2224 <entry/> 2225 </row> 2226 <row> 2227 <?dbhtml bgcolor="#B0B0B0" ?> 2228 <entry>28.7</entry> 2229 <entry>Class template <code>regex_traits</code></entry> 2230 <entry>Partial</entry> 2231 <entry/> 2232 </row> 2233 <row> 2234 <?dbhtml bgcolor="#B0B0B0" ?> 2235 <entry>28.8</entry> 2236 <entry>Class template <code>basic_regex</code></entry> 2237 <entry>Partial</entry> 2238 <entry/> 2239 </row> 2240 <row> 2241 <?dbhtml bgcolor="#B0B0B0" ?> 2242 <entry>28.9</entry> 2243 <entry>Class template <code>sub_match</code></entry> 2244 <entry>Partial</entry> 2245 <entry/> 2246 </row> 2247 <row> 2248 <?dbhtml bgcolor="#B0B0B0" ?> 2249 <entry>28.10</entry> 2250 <entry>Class template <code>match_results</code></entry> 2251 <entry>Partial</entry> 2252 <entry/> 2253 </row> 2254 <row> 2255 <?dbhtml bgcolor="#C8B0B0" ?> 2256 <entry>28.11</entry> 2257 <entry>Regular expression algorithms</entry> 2258 <entry>N</entry> 2259 <entry/> 2260 </row> 2261 <row> 2262 <?dbhtml bgcolor="#C8B0B0" ?> 2263 <entry>28.12</entry> 2264 <entry>Regular expression Iterators</entry> 2265 <entry>N</entry> 2266 <entry/> 2267 </row> 2268 <row> 2269 <?dbhtml bgcolor="#C8B0B0" ?> 2270 <entry>28.13</entry> 2271 <entry>Modified ECMAScript regular expression grammar</entry> 2272 <entry>N</entry> 2273 <entry/> 2274 </row> 2275 <row> 2276 <entry> 2277 <emphasis>29</emphasis> 2278 </entry> 2279 <entry namest="c2" nameend="c4" align="left"> 2280 <emphasis>Atomic operations</emphasis> 2281 </entry> 2282 </row> 2283 <row> 2284 <entry>29.1</entry> 2285 <entry>General</entry> 2286 <entry>Y</entry> 2287 <entry/> 2288 </row> 2289 <row> 2290 <entry>29.2</entry> 2291 <entry>Header <code><atomic></code> synopsis</entry> 2292 <entry>Y</entry> 2293 <entry/> 2294 </row> 2295 <row> 2296 <?dbhtml bgcolor="#B0B0B0" ?> 2297 <entry>29.3</entry> 2298 <entry>Order and consistency</entry> 2299 <entry>Partial</entry> 2300 <entry/> 2301 </row> 2302 <row> 2303 <entry>29.4</entry> 2304 <entry>Lock-free property</entry> 2305 <entry>Y</entry> 2306 <entry/> 2307 </row> 2308 <row> 2309 <entry>29.5</entry> 2310 <entry>Atomic types</entry> 2311 <entry>Y</entry> 2312 <entry/> 2313 </row> 2314 <row> 2315 <entry>29.6</entry> 2316 <entry>Operations on atomic types</entry> 2317 <entry>Y</entry> 2318 <entry/> 2319 </row> 2320 <row> 2321 <entry>29.7</entry> 2322 <entry>Flag Type and operations</entry> 2323 <entry>Y</entry> 2324 <entry/> 2325 </row> 2326 <row> 2327 <entry>29.8</entry> 2328 <entry>Fences</entry> 2329 <entry>Y</entry> 2330 <entry/> 2331 </row> 2332 <row> 2333 <entry> 2334 <emphasis>30</emphasis> 2335 </entry> 2336 <entry namest="c2" nameend="c4" align="left"> 2337 <emphasis>Thread support</emphasis> 2338 </entry> 2339 </row> 2340 <row> 2341 <entry>30.1</entry> 2342 <entry>General</entry> 2343 <entry>Y</entry> 2344 <entry/> 2345 </row> 2346 <row> 2347 <entry>30.2</entry> 2348 <entry>Requirements</entry> 2349 <entry>Y</entry> 2350 <entry/> 2351 </row> 2352 <row> 2353 <entry>30.3</entry> 2354 <entry>Threads</entry> 2355 <entry/> 2356 <entry/> 2357 </row> 2358 <row> 2359 <?dbhtml bgcolor="#B0B0B0" ?> 2360 <entry>30.3.1</entry> 2361 <entry>Class <code>thread</code></entry> 2362 <entry>Partial</entry> 2363 <entry><code>thread::id</code> comparisons not well-defined</entry> 2364 </row> 2365 <row> 2366 <entry>30.3.2</entry> 2367 <entry>Namespace <code>this_thread</code></entry> 2368 <entry>Y</entry> 2369 <entry/> 2370 </row> 2371 <row> 2372 <entry>30.4</entry> 2373 <entry>Mutual exclusion</entry> 2374 <entry/> 2375 <entry/> 2376 </row> 2377 <row> 2378 <entry>30.4.1</entry> 2379 <entry>Mutex requirements</entry> 2380 <entry/> 2381 <entry/> 2382 </row> 2383 <row> 2384 <entry>30.4.1.1</entry> 2385 <entry>In general</entry> 2386 <entry/> 2387 <entry/> 2388 </row> 2389 <row> 2390 <entry>30.4.1.2</entry> 2391 <entry>Mutex types</entry> 2392 <entry/> 2393 <entry/> 2394 </row> 2395 <row> 2396 <entry>30.4.1.2.1</entry> 2397 <entry>Class <code>mutex</code></entry> 2398 <entry>Y</entry> 2399 <entry/> 2400 </row> 2401 <row> 2402 <entry>30.4.1.2.2</entry> 2403 <entry>Class <code>recursive_mutex</code></entry> 2404 <entry>Y</entry> 2405 <entry/> 2406 </row> 2407 <row> 2408 <entry>30.4.1.3</entry> 2409 <entry>Timed mutex types</entry> 2410 <entry/> 2411 <entry>On POSIX sytems these types are only defined if the OS 2412 supports the POSIX Timeouts option. </entry> 2413 </row> 2414 <row> 2415 <entry>30.4.1.3.1</entry> 2416 <entry>Class <code>timed_mutex</code></entry> 2417 <entry>Y</entry> 2418 <entry/> 2419 </row> 2420 <row> 2421 <entry>30.4.1.3.2</entry> 2422 <entry>Class <code>recursive_timed_mutex</code></entry> 2423 <entry>Y</entry> 2424 <entry/> 2425 </row> 2426 <row> 2427 <entry>30.4.2</entry> 2428 <entry>Locks</entry> 2429 <entry/> 2430 <entry/> 2431 </row> 2432 <row> 2433 <entry>30.4.2.1</entry> 2434 <entry>Class template <code>lock_guard</code></entry> 2435 <entry>Y</entry> 2436 <entry/> 2437 </row> 2438 <row> 2439 <entry>30.4.2.2</entry> 2440 <entry>Class template <code>unique_lock</code></entry> 2441 <entry>Y</entry> 2442 <entry/> 2443 </row> 2444 <row> 2445 <entry>30.4.3</entry> 2446 <entry>Generic locking algorithms</entry> 2447 <entry>Y</entry> 2448 <entry/> 2449 </row> 2450 <row> 2451 <entry>30.4.4</entry> 2452 <entry>Call once</entry> 2453 <entry/> 2454 <entry/> 2455 </row> 2456 <row> 2457 <entry>30.4.4.1</entry> 2458 <entry>Struct <code>once_flag</code></entry> 2459 <entry>Y</entry> 2460 <entry/> 2461 </row> 2462 <row> 2463 <entry>30.4.4.2</entry> 2464 <entry>Function <code>call_once</code></entry> 2465 <entry>Y</entry> 2466 <entry/> 2467 </row> 2468 <row> 2469 <?dbhtml bgcolor="#B0B0B0" ?> 2470 <entry>30.5</entry> 2471 <entry>Condition variables</entry> 2472 <entry>Partial</entry> 2473 <entry>Missing notify_all_at_thread_exit</entry> 2474 </row> 2475 <row> 2476 <entry>30.5.1</entry> 2477 <entry>Class <code>condition_variable</code></entry> 2478 <entry>Y</entry> 2479 <entry/> 2480 </row> 2481 <row> 2482 <entry>30.5.2</entry> 2483 <entry>Class <code>condition_variable_any</code></entry> 2484 <entry>Y</entry> 2485 <entry/> 2486 </row> 2487 <row> 2488 <entry>30.6</entry> 2489 <entry>Futures</entry> 2490 <entry/> 2491 <entry/> 2492 </row> 2493 <row> 2494 <entry>30.6.1</entry> 2495 <entry>Overview</entry> 2496 <entry/> 2497 <entry/> 2498 </row> 2499 <row> 2500 <entry>30.6.2</entry> 2501 <entry>Error handling</entry> 2502 <entry>Y</entry> 2503 <entry/> 2504 </row> 2505 <row> 2506 <entry>30.6.3</entry> 2507 <entry>Class <code>future_error</code></entry> 2508 <entry>Y</entry> 2509 <entry/> 2510 </row> 2511 <row> 2512 <entry>30.6.4</entry> 2513 <entry>Shared state</entry> 2514 <entry>Y</entry> 2515 <entry/> 2516 </row> 2517 <row> 2518 <?dbhtml bgcolor="#B0B0B0" ?> 2519 <entry>30.6.5</entry> 2520 <entry>Class template <code>promise</code></entry> 2521 <entry>Partial</entry> 2522 <entry>Missing set_*_at_thread_exit</entry> 2523 </row> 2524 <row> 2525 <?dbhtml bgcolor="#B0B0B0" ?> 2526 <entry>30.6.6</entry> 2527 <entry>Class template <code>future</code></entry> 2528 <entry>Partial</entry> 2529 <entry>Timed waiting functions do not return future_status::deferred</entry> 2530 </row> 2531 <row> 2532 <?dbhtml bgcolor="#B0B0B0" ?> 2533 <entry>30.6.7</entry> 2534 <entry>Class template <code>shared_future</code></entry> 2535 <entry>Partial</entry> 2536 <entry>Timed waiting functions do not return future_status::deferred</entry> 2537 </row> 2538 <row> 2539 <entry>30.6.8</entry> 2540 <entry>Function template <code>async</code></entry> 2541 <entry>Y</entry> 2542 <entry/> 2543 </row> 2544 <row> 2545 <?dbhtml bgcolor="#B0B0B0" ?> 2546 <entry>30.6.9</entry> 2547 <entry>Class template <code>packaged_task</code></entry> 2548 <entry>Partial</entry> 2549 <entry>Missing make_ready_at_thread_exit</entry> 2550 </row> 2551 <row> 2552 <entry> 2553 <emphasis>Appendix D</emphasis> 2554 </entry> 2555 <entry namest="c2" nameend="c4" align="left"> 2556 <emphasis>Compatibility features</emphasis> 2557 </entry> 2558 </row> 2559 <row> 2560 <entry>D.1</entry> 2561 <entry>Increment operator with <code>bool</code> operand</entry> 2562 <entry/> 2563 <entry/> 2564 </row> 2565 <row> 2566 <entry>D.2</entry> 2567 <entry><code>register</code> keyword</entry> 2568 <entry/> 2569 <entry/> 2570 </row> 2571 <row> 2572 <entry>D.3</entry> 2573 <entry>Implicit declaration of copy functions</entry> 2574 <entry/> 2575 <entry/> 2576 </row> 2577 <row> 2578 <entry>D.4</entry> 2579 <entry>Dynamic exception specifications</entry> 2580 <entry/> 2581 <entry/> 2582 </row> 2583 <row> 2584 <entry>D.5</entry> 2585 <entry>C standard library headers</entry> 2586 <entry/> 2587 <entry/> 2588 </row> 2589 <row> 2590 <entry>D.6</entry> 2591 <entry>Old iostreams members</entry> 2592 <entry/> 2593 <entry/> 2594 </row> 2595 <row> 2596 <entry>D.7</entry> 2597 <entry><code>char*</code> streams</entry> 2598 <entry/> 2599 <entry/> 2600 </row> 2601 <row> 2602 <entry>D.8</entry> 2603 <entry>Function objects</entry> 2604 <entry/> 2605 <entry/> 2606 </row> 2607 <row> 2608 <entry>D.9</entry> 2609 <entry>Binders</entry> 2610 <entry/> 2611 <entry/> 2612 </row> 2613 <row> 2614 <entry>D.10</entry> 2615 <entry><code>auto_ptr</code></entry> 2616 <entry/> 2617 <entry/> 2618 </row> 2619 <row> 2620 <?dbhtml bgcolor="#B0B0B0" ?> 2621 <entry>D.11</entry> 2622 <entry>Violating exception-specifications</entry> 2623 <entry>Partial</entry> 2624 <entry>Missing <code>get_unexpected</code>. 2625 <code>set_unexpected</code> is not thread-safe. 2626 </entry> 2627 </row> 2628 2629 </tbody> 2630</tgroup> 2631</table> 2632 2633<section xml:id="iso.2011.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info> 2634 2635 <para>For behaviour which is also specified by the 1998 and 2003 standards, 2636 see <link linkend="iso.1998.specific">C++ 1998/2003 Implementation 2637 Specific Behavior</link>. This section only documents behaviour which 2638 is new in the 2011 standard. 2639 </para> 2640 2641 <para> 2642 <emphasis>20.8.9.1.3 [func.bind.place]/1</emphasis> There are 29 2643 placeholders defined and the placeholder types are 2644 <literal>CopyAssignable</literal>. 2645 </para> 2646 2647 <para> 2648 <emphasis>23.5.4.2 [unord.map.cnstr]</emphasis>, 2649 <emphasis>23.5.5.2 [unord.multimap.cnstr]</emphasis>, 2650 <emphasis>23.5.6.2 [unord.set.cnstr]</emphasis>, 2651 <emphasis>23.5.7.2 [unord.multiset.cnstr]</emphasis> 2652 The default bucket count is 10 for the default constructors 2653 and 0 for the range constructors and initializer-list constructors. 2654 </para> 2655 2656 <para> 2657 <emphasis>30.2.3 [thread.req.native]/1</emphasis> 2658 <classname>native_handle_type</classname> and 2659 <methodname>native_handle</methodname> are provided. The handle types 2660 are defined in terms of the Gthreads abstraction layer. 2661 <itemizedlist> 2662 <listitem><para><classname>thread</classname>: The native handle type is 2663 a typedef for <code>__gthread_t</code> i.e. <code>pthread_t</code> 2664 when GCC is configured with the <literal>posix</literal> thread 2665 model. The value of the native handle is undefined for a thread 2666 which is not joinable. 2667 </para></listitem> 2668 <listitem><para><classname>mutex</classname> and 2669 <classname>timed_mutex</classname>: 2670 The native handle type is <code>__gthread_mutex_t*</code> i.e. 2671 <code>pthread_mutex_t*</code> for the <literal>posix</literal> 2672 thread model. 2673 </para></listitem> 2674 <listitem><para><classname>recursive_mutex</classname> and 2675 <classname>recursive_timed_mutex</classname>: 2676 The native handle type is <code>__gthread_recursive_mutex_t*</code> 2677 i.e. <code>pthread_mutex_t*</code> for the <literal>posix</literal> 2678 thread model. 2679 </para></listitem> 2680 <listitem><para><classname>condition_variable</classname>: The native 2681 handle type is <code>__gthread_cond_t*</code> i.e. 2682 <code>pthread_cond_t*</code> for the <literal>posix</literal> 2683 thread model. 2684 </para></listitem> 2685 </itemizedlist> 2686 </para> 2687 2688 <para> 2689 <emphasis>30.6.1 [futures.overview]/2</emphasis> 2690 <code>launch</code> is a scoped enumeration type with 2691 overloaded operators to support bitmask operations. There are no 2692 additional bitmask elements defined. 2693 </para> 2694 2695</section> 2696 2697</section> 2698