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