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