xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/status_cxx2014.xml (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1<section xmlns="http://docbook.org/ns/docbook" version="5.0"
2	 xml:id="status.iso.2014" xreflabel="Status C++ 2014">
3<?dbhtml filename="status_iso_cxx2014.html"?>
4
5<info><title>C++ 2014</title>
6  <keywordset>
7    <keyword>ISO C++</keyword>
8    <keyword>2014</keyword>
9  </keywordset>
10</info>
11
12<para>
13In this implementation the <literal>-std=gnu++14</literal> or
14<literal>-std=c++14</literal> flag must be used to enable language
15and library
16features. See <link linkend="manual.intro.using.flags">dialect</link>
17options. The pre-defined symbol
18<constant>__cplusplus</constant> is used to check for the
19presence of the required flag.
20GCC 6.1 was the first release with non-experimental C++14 support,
21so the API and ABI of features added in C++14 is only stable
22since that release.
23</para>
24
25<para>
26This status table is based on the table of contents of ISO/IEC 14882:2014.
27Some subclauses are not shown in the table where the content is unchanged
28since C++11 and the implementation is complete.
29</para>
30
31<para>
32This section describes the C++14 and library TS support in the GCC 12 release series,
33not in any particular release.
34</para>
35
36<!-- Status is Yes or No, Broken/Partial-->
37<!--
38   Yes
39
40   No
41      <?dbhtml bgcolor="#C8B0B0" ?>
42   Broken/Partial
43      <?dbhtml bgcolor="#B0B0B0" ?>
44-->
45<table frame="all" xml:id="table.cxx14_status">
46<title>C++ 2014 Implementation Status</title>
47
48<tgroup cols="4" align="left" colsep="0" rowsep="1">
49<colspec colname="c1"/>
50<colspec colname="c2"/>
51<colspec colname="c3"/>
52<colspec colname="c4"/>
53<thead>
54    <row>
55      <entry>Section</entry>
56      <entry>Description</entry>
57      <entry>Status</entry>
58      <entry>Comments</entry>
59    </row>
60  </thead>
61
62  <tbody>
63
64    <row>
65      <entry>
66	<emphasis>18</emphasis>
67      </entry>
68      <entry namest="c2" nameend="c4" align="left">
69	<emphasis>Language support</emphasis>
70      </entry>
71    </row>
72
73    <row>
74      <entry>18.1</entry>
75      <entry>General</entry>
76      <entry/>
77      <entry/>
78    </row>
79    <row>
80      <entry>18.2</entry>
81      <entry>Types</entry>
82      <entry>Y</entry>
83      <entry/>
84    </row>
85    <row>
86      <entry>18.3</entry>
87      <entry>Implementation properties</entry>
88      <entry/>
89      <entry/>
90    </row>
91
92    <row>
93      <entry>18.3.2</entry>
94      <entry>Numeric Limits</entry>
95      <entry/>
96      <entry/>
97    </row>
98    <row>
99      <entry>18.3.2.3</entry>
100      <entry>Class template <code>numeric_limits</code></entry>
101      <entry>Y</entry>
102      <entry/>
103    </row>
104    <row>
105      <entry>18.3.2.4</entry>
106      <entry><code>numeric_limits</code> members</entry>
107      <entry>Y</entry>
108      <entry/>
109    </row>
110    <row>
111      <?dbhtml bgcolor="#C8B0B0" ?>
112      <entry>18.3.2.5</entry>
113      <entry><code>float_round_style</code></entry>
114      <entry>N</entry>
115      <entry/>
116    </row>
117    <row>
118      <?dbhtml bgcolor="#C8B0B0" ?>
119      <entry>18.3.2.6</entry>
120      <entry><code>float_denorm_style</code></entry>
121      <entry>N</entry>
122      <entry/>
123    </row>
124    <row>
125      <entry>18.3.2.7</entry>
126      <entry><code>numeric_limits</code> specializations</entry>
127      <entry>Y</entry>
128      <entry/>
129    </row>
130    <row>
131      <entry>18.3.3</entry>
132      <entry>C Library</entry>
133      <entry>Y</entry>
134      <entry/>
135    </row>
136
137    <row>
138      <entry>18.4</entry>
139      <entry>Integer types</entry>
140      <entry/>
141      <entry/>
142    </row>
143    <row>
144      <entry>18.4.1</entry>
145      <entry>Header <code>&lt;cstdint&gt;</code> synopsis</entry>
146      <entry>Y</entry>
147      <entry/>
148    </row>
149    <row>
150      <?dbhtml bgcolor="#B0B0B0" ?>
151      <entry>18.5</entry>
152      <entry>Start and termination</entry>
153      <entry>Partial</entry>
154      <entry>C library dependency for quick_exit, at_quick_exit</entry>
155    </row>
156    <row>
157      <entry>18.6</entry>
158      <entry>Dynamic memory management</entry>
159      <entry>Y</entry>
160      <entry/>
161    </row>
162    <row>
163      <entry>18.7</entry>
164      <entry>Type identification</entry>
165      <entry/>
166      <entry/>
167    </row>
168    <row>
169      <entry>18.7.1</entry>
170      <entry>Class type_info</entry>
171      <entry>Y</entry>
172      <entry/>
173    </row>
174    <row>
175      <entry>18.7.2</entry>
176      <entry>Class bad_cast</entry>
177      <entry>Y</entry>
178      <entry/>
179    </row>
180    <row>
181      <entry>18.7.3</entry>
182      <entry>Class bad_typeid</entry>
183      <entry>Y</entry>
184      <entry/>
185    </row>
186    <row>
187      <entry>18.8</entry>
188      <entry>Exception handling</entry>
189      <entry/>
190      <entry/>
191    </row>
192    <row>
193      <entry>18.8.1</entry>
194      <entry>Class exception</entry>
195      <entry>Y</entry>
196      <entry/>
197    </row>
198    <row>
199      <entry>18.8.2</entry>
200      <entry>Class bad_exception</entry>
201      <entry>Y</entry>
202      <entry/>
203    </row>
204    <row>
205      <entry>18.8.3</entry>
206      <entry>Abnormal termination</entry>
207      <entry>Y</entry>
208      <entry/>
209    </row>
210    <row>
211      <entry>18.8.4</entry>
212      <entry><code>uncaught_exception</code></entry>
213      <entry>Y</entry>
214      <entry/>
215    </row>
216    <row>
217      <entry>18.8.5</entry>
218      <entry>Exception Propagation</entry>
219      <entry>Y</entry>
220      <entry/>
221    </row>
222    <row>
223      <entry>18.8.6</entry>
224      <entry><code>nested_exception</code></entry>
225      <entry>Y</entry>
226      <entry/>
227    </row>
228    <row>
229      <entry>18.9</entry>
230      <entry>Initializer lists</entry>
231      <entry/>
232      <entry/>
233    </row>
234    <row>
235      <entry>18.9.1</entry>
236      <entry>Initializer list constructors</entry>
237      <entry>Y</entry>
238      <entry/>
239    </row>
240    <row>
241      <entry>18.9.2</entry>
242      <entry>Initializer list access</entry>
243      <entry>Y</entry>
244      <entry/>
245    </row>
246    <row>
247      <entry>18.9.3</entry>
248      <entry>Initializer list range access</entry>
249      <entry>Y</entry>
250      <entry/>
251    </row>
252    <row>
253      <entry>18.10</entry>
254      <entry>Other runtime support</entry>
255      <entry>Y</entry>
256      <entry/>
257    </row>
258    <row>
259      <entry>
260	<emphasis>19</emphasis>
261      </entry>
262      <entry namest="c2" nameend="c4" align="left">
263	<emphasis>Diagnostics</emphasis>
264      </entry>
265    </row>
266    <row>
267      <entry>19.1</entry>
268      <entry>General</entry>
269      <entry/>
270      <entry/>
271    </row>
272    <row>
273      <entry>19.2</entry>
274      <entry>Exception classes</entry>
275      <entry>Y</entry>
276      <entry/>
277    </row>
278    <row>
279      <entry>19.3</entry>
280      <entry>Assertions</entry>
281      <entry>Y</entry>
282      <entry/>
283    </row>
284    <row>
285      <entry>19.4</entry>
286      <entry>Error numbers</entry>
287      <entry>Y</entry>
288      <entry/>
289    </row>
290    <row>
291      <entry>19.5</entry>
292      <entry>System error support</entry>
293      <entry/>
294      <entry/>
295    </row>
296    <row>
297      <entry>19.5.1</entry>
298      <entry>Class <code>error_category</code></entry>
299      <entry>Y</entry>
300      <entry/>
301    </row>
302    <row>
303      <entry>19.5.2</entry>
304      <entry>Class <code>error_code</code></entry>
305      <entry>Y</entry>
306      <entry/>
307    </row>
308    <row>
309      <entry>19.5.3</entry>
310      <entry>Class <code>error_condition</code></entry>
311      <entry>Y</entry>
312      <entry/>
313    </row>
314    <row>
315      <entry>19.5.4</entry>
316      <entry>Comparison operators</entry>
317      <entry>Y</entry>
318      <entry/>
319    </row>
320    <row>
321      <entry>19.5.5</entry>
322      <entry>Class <code>system_error</code></entry>
323      <entry>Y</entry>
324      <entry/>
325    </row>
326    <row>
327      <entry>
328	<emphasis>20</emphasis>
329      </entry>
330      <entry namest="c2" nameend="c4" align="left">
331	<emphasis>General utilities</emphasis>
332      </entry>
333    </row>
334    <row>
335      <entry>20.1</entry>
336      <entry>General</entry>
337      <entry/>
338      <entry/>
339    </row>
340    <row>
341      <entry>20.2</entry>
342      <entry>Utility components</entry>
343      <entry/>
344      <entry/>
345    </row>
346    <row>
347      <entry>20.2.1</entry>
348      <entry>Operators</entry>
349      <entry>Y</entry>
350      <entry/>
351    </row>
352    <row>
353      <entry>20.2.2</entry>
354      <entry>swap</entry>
355      <entry>Y</entry>
356      <entry/>
357    </row>
358    <row>
359      <entry>20.2.3</entry>
360      <entry>exchange</entry>
361      <entry>Y</entry>
362      <entry/>
363    </row>
364    <row>
365      <entry>20.2.4</entry>
366      <entry>forward/move helpers</entry>
367      <entry>Y</entry>
368      <entry/>
369    </row>
370    <row>
371      <entry>20.2.5</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>Y</entry>
380      <entry/>
381    </row>
382    <row>
383      <entry>20.4</entry>
384      <entry>Tuples</entry>
385      <entry>Y</entry>
386      <entry/>
387    </row>
388    <row>
389      <entry>20.5</entry>
390      <entry>Compile-time integer sequences</entry>
391      <entry/>
392      <entry/>
393    </row>
394    <row>
395      <entry>20.5.2</entry>
396      <entry>Class template <code>integer_sequence</code></entry>
397      <entry>Y</entry>
398      <entry/>
399    </row>
400    <row>
401      <entry>20.5.3</entry>
402      <entry>Alias template <code>make_integer_sequence</code></entry>
403      <entry>Y</entry>
404      <entry/>
405    </row>
406    <row>
407      <entry>20.6</entry>
408      <entry>Class template <code>bitset</code></entry>
409      <entry>Y</entry>
410      <entry/>
411    </row>
412    <row>
413      <entry>20.7</entry>
414      <entry>Memory</entry>
415      <entry>Y</entry>
416      <entry/>
417    </row>
418    <row>
419      <entry>20.8</entry>
420      <entry>Smart pointers</entry>
421      <entry/>
422      <entry/>
423    </row>
424    <row>
425      <entry>20.8.1</entry>
426      <entry>Class template <code>unique_ptr</code></entry>
427      <entry>Y</entry>
428      <entry/>
429    </row>
430    <row>
431      <entry>20.8.1.1</entry>
432      <entry>Default deleters</entry>
433      <entry>Y</entry>
434      <entry/>
435    </row>
436    <row>
437      <entry>20.8.1.2</entry>
438      <entry><code>unique_ptr</code> for single objects</entry>
439      <entry>Y</entry>
440      <entry/>
441    </row>
442    <row>
443      <entry>20.8.1.3</entry>
444      <entry><code>unique_ptr</code> for array objects with a runtime length</entry>
445      <entry>Y</entry>
446      <entry/>
447    </row>
448    <row>
449      <entry>20.8.1.4</entry>
450      <entry><code>unique_ptr</code> creation</entry>
451      <entry>Y</entry>
452      <entry/>
453    </row>
454    <row>
455      <entry>20.8.1.5</entry>
456      <entry><code>unique_ptr</code> specialized algorithms</entry>
457      <entry>Y</entry>
458      <entry/>
459    </row>
460    <row>
461      <entry>20.8.2</entry>
462      <entry>Shared-ownership pointers</entry>
463      <entry/>
464      <entry/>
465    </row>
466    <row>
467      <entry>20.8.2.1</entry>
468      <entry>Class <code>bad_weak_ptr</code></entry>
469      <entry>Y</entry>
470      <entry/>
471    </row>
472    <row>
473      <entry>20.8.2.2</entry>
474      <entry>Class template <code>shared_ptr</code></entry>
475      <entry>Y</entry>
476      <entry>
477	  Uses code from
478	  <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>.
479      </entry>
480    </row>
481    <row>
482      <entry>20.8.2.3</entry>
483      <entry>Class template <code>weak_ptr</code></entry>
484      <entry>Y</entry>
485      <entry/>
486    </row>
487    <row>
488      <entry>20.8.2.4</entry>
489      <entry>Class template <code>owner_less</code></entry>
490      <entry>Y</entry>
491      <entry/>
492    </row>
493    <row>
494      <entry>20.8.2.5</entry>
495      <entry>Class template <code>enable_shared_from_this</code></entry>
496      <entry>Y</entry>
497      <entry/>
498    </row>
499    <row>
500      <entry>20.8.2.6</entry>
501      <entry><code>shared_ptr</code> atomic access</entry>
502      <entry>Y</entry>
503      <entry/>
504    </row>
505    <row>
506      <entry>20.8.2.7</entry>
507      <entry>Smart pointer hash support</entry>
508      <entry>Y</entry>
509      <entry/>
510    </row>
511    <row>
512      <entry>20.9</entry>
513      <entry>Function objects</entry>
514      <entry/>
515      <entry/>
516    </row>
517    <row>
518      <entry>20.9.1</entry>
519      <entry>Definitions</entry>
520      <entry/>
521      <entry/>
522    </row>
523    <row>
524      <entry>20.9.2</entry>
525      <entry>Requirements</entry>
526      <entry/>
527      <entry/>
528    </row>
529    <row>
530      <entry>20.9.3</entry>
531      <entry>Class template <code>reference_wrapper</code></entry>
532      <entry>Y</entry>
533      <entry/>
534    </row>
535    <row>
536      <entry>20.9.4</entry>
537      <entry>Arithmetic operation</entry>
538      <entry>Y</entry>
539      <entry/>
540    </row>
541    <row>
542      <entry>20.9.5</entry>
543      <entry>Comparisons</entry>
544      <entry>Y</entry>
545      <entry/>
546    </row>
547    <row>
548      <entry>20.8.6</entry>
549      <entry>Logical operations</entry>
550      <entry>Y</entry>
551      <entry/>
552    </row>
553    <row>
554      <entry>20.9.7</entry>
555      <entry>Bitwise operations</entry>
556      <entry>Y</entry>
557      <entry/>
558    </row>
559    <row>
560      <entry>20.9.8</entry>
561      <entry>Negators</entry>
562      <entry>Y</entry>
563      <entry/>
564    </row>
565    <row>
566      <entry>20.9.9</entry>
567      <entry>Function object binders</entry>
568      <entry>Y</entry>
569      <entry/>
570    </row>
571    <row>
572      <entry>20.9.10</entry>
573      <entry>Function template <code>mem_fn</code></entry>
574      <entry>Y</entry>
575      <entry/>
576    </row>
577    <row>
578      <entry>20.9.11</entry>
579      <entry>Polymorphic function wrappers</entry>
580      <entry/>
581      <entry/>
582    </row>
583    <row>
584      <entry>20.9.11.1</entry>
585      <entry>Class <code>bad_function_call</code></entry>
586      <entry>Y</entry>
587      <entry/>
588    </row>
589    <row>
590      <?dbhtml bgcolor="#B0B0B0" ?>
591      <entry>20.9.11.2</entry>
592      <entry>Class template <code>function</code></entry>
593      <entry>Partial</entry>
594      <entry>Missing allocator support</entry>
595    </row>
596    <row>
597      <entry>20.9.12</entry>
598      <entry>Class template <code>hash</code></entry>
599      <entry>Y</entry>
600      <entry/>
601    </row>
602    <row>
603      <entry>20.10</entry>
604      <entry>Metaprogramming and type traits</entry>
605      <entry/>
606      <entry/>
607    </row>
608    <row>
609      <entry>20.10.1</entry>
610      <entry>Requirements</entry>
611      <entry>Y</entry>
612      <entry/>
613    </row>
614    <row>
615      <entry>20.10.2</entry>
616      <entry>Header <code>&lt;type_traits&gt;</code> synopsis</entry>
617      <entry/>
618      <entry/>
619    </row>
620    <row>
621      <entry>20.10.3</entry>
622      <entry>Helper classes</entry>
623      <entry>Y</entry>
624      <entry/>
625    </row>
626    <row>
627      <entry>20.10.4</entry>
628      <entry>Unary Type Traits</entry>
629      <entry>Y</entry>
630      <entry/>
631    </row>
632    <row>
633      <entry>20.10.5</entry>
634      <entry>Type property queries</entry>
635      <entry>Y</entry>
636      <entry/>
637    </row>
638    <row>
639      <entry>20.10.6</entry>
640      <entry>Relationships between types</entry>
641      <entry>Y</entry>
642      <entry/>
643    </row>
644    <row>
645      <entry>20.10.7</entry>
646      <entry>Transformations between types</entry>
647      <entry>Y</entry>
648      <entry/>
649    </row>
650    <row>
651      <entry>20.11</entry>
652      <entry>Compile-time rational arithmetic</entry>
653      <entry>Y</entry>
654      <entry/>
655    </row>
656    <row>
657      <entry>20.12</entry>
658      <entry>Time utilities</entry>
659      <entry/>
660      <entry/>
661    </row>
662    <row>
663      <entry>20.12.3</entry>
664      <entry>Clock requirements</entry>
665      <entry>Y</entry>
666      <entry/>
667    </row>
668    <row>
669      <entry>20.12.4</entry>
670      <entry>Time-related traits</entry>
671      <entry>Y</entry>
672      <entry/>
673    </row>
674    <row>
675      <entry>20.12.5</entry>
676      <entry>Class template <code>duration</code></entry>
677      <entry>Y</entry>
678      <entry/>
679    </row>
680    <row>
681      <entry>20.12.5.8</entry>
682      <entry>Suffixes for duration literals</entry>
683      <entry>Y</entry>
684      <entry/>
685    </row>
686    <row>
687      <entry>20.12.6</entry>
688      <entry>Class template <code>time_point</code></entry>
689      <entry>Y</entry>
690      <entry/>
691    </row>
692    <row>
693      <entry>20.12.7</entry>
694      <entry>Clocks</entry>
695      <entry>Y</entry>
696      <entry/>
697    </row>
698    <row>
699      <entry>20.12.8</entry>
700      <entry>Date and time functions</entry>
701      <entry>Y</entry>
702      <entry/>
703    </row>
704    <row>
705      <entry>20.13</entry>
706      <entry>Scoped allocator adaptor</entry>
707      <entry>Y</entry>
708      <entry/>
709    </row>
710    <row>
711      <entry>20.14</entry>
712      <entry>Class <code>type_index</code></entry>
713      <entry>Y</entry>
714      <entry/>
715    </row>
716    <row>
717      <entry>
718	<emphasis>21</emphasis>
719      </entry>
720      <entry namest="c2" nameend="c4" align="left">
721	<emphasis>Strings</emphasis>
722      </entry>
723    </row>
724    <row>
725      <entry>21.1</entry>
726      <entry>General</entry>
727      <entry>Y</entry>
728      <entry/>
729    </row>
730    <row>
731      <entry>21.2</entry>
732      <entry>Character traits</entry>
733      <entry>Y</entry>
734      <entry/>
735    </row>
736    <row>
737      <entry>21.3</entry>
738      <entry>String classes</entry>
739      <entry>Y</entry>
740      <entry/>
741    </row>
742    <row>
743      <entry>21.4</entry>
744      <entry>Class template <code>basic_string</code></entry>
745      <entry>Y</entry>
746      <entry/>
747    </row>
748    <row>
749      <entry>21.5</entry>
750      <entry>Numeric Conversions</entry>
751      <entry>Y</entry>
752      <entry/>
753    </row>
754    <row>
755      <entry>21.6</entry>
756      <entry>Hash support</entry>
757      <entry>Y</entry>
758      <entry/>
759    </row>
760    <row>
761      <entry>21.7</entry>
762      <entry>Suffixes for <code>basic_string</code> literals</entry>
763      <entry>Y</entry>
764      <entry/>
765    </row>
766    <row>
767      <?dbhtml bgcolor="#B0B0B0" ?>
768      <entry>21.7</entry>
769      <entry>Null-terminated sequence utilities</entry>
770      <entry>Partial</entry>
771      <entry>C library dependency. </entry>
772    </row>
773    <row>
774      <entry>
775	<emphasis>22</emphasis>
776      </entry>
777      <entry namest="c2" nameend="c4" align="left">
778	<emphasis>Localization</emphasis>
779      </entry>
780    </row>
781    <row>
782      <entry>22.1</entry>
783      <entry>General</entry>
784      <entry>Y</entry>
785      <entry/>
786    </row>
787    <row>
788      <entry>22.2</entry>
789      <entry>Header <code>&lt;locale&gt;</code> synopsis</entry>
790      <entry>Y</entry>
791      <entry/>
792    </row>
793    <row>
794      <entry>22.3</entry>
795      <entry>Locales</entry>
796      <entry>Y</entry>
797      <entry/>
798    </row>
799    <row>
800      <entry>22.4</entry>
801      <entry>Standard <code>locale</code> categories</entry>
802      <entry>Y</entry>
803      <entry/>
804    </row>
805    <row>
806      <entry>22.5</entry>
807      <entry>Standard code conversion facets</entry>
808      <entry>Y</entry>
809      <entry/>
810    </row>
811    <row>
812      <entry>22.6</entry>
813      <entry>C Library Locales</entry>
814      <entry>Y</entry>
815      <entry/>
816    </row>
817    <row>
818      <entry>
819	<emphasis>23</emphasis>
820      </entry>
821      <entry namest="c2" nameend="c4" align="left">
822	<emphasis>Containers</emphasis>
823      </entry>
824    </row>
825    <row>
826      <entry>23.1</entry>
827      <entry>General</entry>
828      <entry/>
829      <entry/>
830    </row>
831    <row>
832      <entry>23.2</entry>
833      <entry>Container requirements</entry>
834      <entry>Y</entry>
835      <entry/>
836    </row>
837    <row>
838      <entry>23.3</entry>
839      <entry>Sequence containers</entry>
840      <entry>Y</entry>
841      <entry/>
842    </row>
843    <row>
844      <entry>23.4</entry>
845      <entry>Associative containers</entry>
846      <entry>Y</entry>
847      <entry/>
848    </row>
849    <row>
850      <entry>23.5</entry>
851      <entry>Unordered associative containers</entry>
852      <entry>Y</entry>
853      <entry/>
854    </row>
855    <row>
856      <entry>23.6</entry>
857      <entry>Container adaptors</entry>
858      <entry>Y</entry>
859      <entry/>
860    </row>
861    <row>
862      <entry>
863	<emphasis>24</emphasis>
864      </entry>
865      <entry namest="c2" nameend="c4" align="left">
866	<emphasis>Iterators</emphasis>
867      </entry>
868    </row>
869    <row>
870      <entry>24.1</entry>
871      <entry>General</entry>
872      <entry>Y</entry>
873      <entry/>
874    </row>
875    <row>
876      <entry>24.2</entry>
877      <entry>Iterator requirements</entry>
878      <entry>Y</entry>
879      <entry/>
880    </row>
881    <row>
882      <entry>24.3</entry>
883      <entry>Header <code>&lt;iterator&gt;</code> synopsis</entry>
884      <entry>Y</entry>
885      <entry/>
886    </row>
887    <row>
888      <entry>24.4</entry>
889      <entry>Iterator primitives</entry>
890      <entry>Y</entry>
891      <entry/>
892    </row>
893    <row>
894      <entry>24.5</entry>
895      <entry>Iterator adaptors</entry>
896      <entry>Y</entry>
897      <entry/>
898    </row>
899    <row>
900      <entry>24.6</entry>
901      <entry>Stream iterators</entry>
902      <entry>Y</entry>
903      <entry/>
904    </row>
905    <row>
906      <entry>24.7</entry>
907      <entry>range access</entry>
908      <entry>Y</entry>
909      <entry/>
910    </row>
911    <row>
912      <entry>
913	<emphasis>25</emphasis>
914      </entry>
915      <entry namest="c2" nameend="c4" align="left">
916	<emphasis>Algorithms</emphasis>
917      </entry>
918    </row>
919    <row>
920      <entry>25.1</entry>
921      <entry>General</entry>
922      <entry/>
923      <entry/>
924    </row>
925    <row>
926      <entry>25.2</entry>
927      <entry>Non-modifying sequence operations</entry>
928      <entry>Y</entry>
929      <entry/>
930    </row>
931    <row>
932      <entry>25.3</entry>
933      <entry>Mutating sequence operations</entry>
934      <entry>Y</entry>
935      <entry/>
936    </row>
937    <row>
938      <entry>25.4</entry>
939      <entry>Sorting and related operations</entry>
940      <entry>Y</entry>
941      <entry/>
942    </row>
943    <row>
944      <entry>25.5</entry>
945      <entry>C library algorithms</entry>
946      <entry>Y</entry>
947      <entry/>
948    </row>
949    <row>
950      <entry>
951      <emphasis>26</emphasis>
952      </entry>
953      <entry namest="c2" nameend="c4" align="left">
954	<emphasis>Numerics</emphasis>
955      </entry>
956    </row>
957    <row>
958      <entry>26.1</entry>
959      <entry>General</entry>
960      <entry/>
961      <entry/>
962    </row>
963    <row>
964      <entry>26.2</entry>
965      <entry>Numeric type requirements</entry>
966      <entry>Y</entry>
967      <entry/>
968    </row>
969    <row>
970      <entry>26.3</entry>
971      <entry>The floating-point environment</entry>
972      <entry>Y</entry>
973      <entry/>
974    </row>
975    <row>
976      <entry>26.4</entry>
977      <entry>Complex numbers</entry>
978      <entry>Y</entry>
979      <entry/>
980    </row>
981    <row>
982      <entry>26.4.10</entry>
983      <entry>Suffixes for complex number literals</entry>
984      <entry>Y</entry>
985      <entry/>
986    </row>
987    <row>
988      <entry>26.5</entry>
989      <entry>Random number generation</entry>
990      <entry>Y</entry>
991      <entry/>
992    </row>
993    <row>
994      <entry>26.6</entry>
995      <entry>Numeric arrays</entry>
996      <entry>Y</entry>
997      <entry/>
998    </row>
999    <row>
1000      <entry>26.7</entry>
1001      <entry>Generalized numeric operations</entry>
1002      <entry>Y</entry>
1003      <entry/>
1004    </row>
1005    <row>
1006      <entry>26.8</entry>
1007      <entry>C Library</entry>
1008      <entry>Y</entry>
1009      <entry/>
1010    </row>
1011    <row>
1012      <entry>
1013	<emphasis>27</emphasis>
1014      </entry>
1015      <entry namest="c2" nameend="c4" align="left">
1016	<emphasis>Input/output library</emphasis>
1017      </entry>
1018    </row>
1019    <row>
1020      <entry>27.1</entry>
1021      <entry>General</entry>
1022      <entry>Y</entry>
1023      <entry/>
1024    </row>
1025    <row>
1026      <entry>27.2</entry>
1027      <entry>Iostreams requirements</entry>
1028      <entry>Y</entry>
1029      <entry/>
1030    </row>
1031    <row>
1032      <entry>27.2.1</entry>
1033      <entry>Imbue Limitations</entry>
1034      <entry>Y</entry>
1035      <entry/>
1036    </row>
1037    <row>
1038      <entry>27.2.2</entry>
1039      <entry>Positioning Type Limitations</entry>
1040      <entry>Y</entry>
1041      <entry/>
1042    </row>
1043    <row>
1044      <?dbhtml bgcolor="#B0B0B0" ?>
1045      <entry>27.2.3</entry>
1046      <entry>Thread safety</entry>
1047      <entry>Partial</entry>
1048      <entry/>
1049    </row>
1050    <row>
1051      <entry>27.3</entry>
1052      <entry>Forward declarations</entry>
1053      <entry>Y</entry>
1054      <entry/>
1055    </row>
1056    <row>
1057      <entry>27.4</entry>
1058      <entry>Standard iostream objects</entry>
1059      <entry>Y</entry>
1060      <entry/>
1061    </row>
1062    <row>
1063      <entry>27.5</entry>
1064      <entry>Iostreams base classes</entry>
1065      <entry>Y</entry>
1066      <entry/>
1067    </row>
1068    <row>
1069      <entry>27.6</entry>
1070      <entry>Stream buffers</entry>
1071      <entry>Y</entry>
1072      <entry/>
1073    </row>
1074    <row>
1075      <entry>27.7</entry>
1076      <entry>Formatting and manipulators</entry>
1077      <entry>Y</entry>
1078      <entry/>
1079    </row>
1080    <row>
1081      <entry>27.7.6</entry>
1082      <entry>Quoted manipulators</entry>
1083      <entry>Y</entry>
1084      <entry/>
1085    </row>
1086    <row>
1087      <entry>27.8</entry>
1088      <entry>String-based streams</entry>
1089      <entry>Y</entry>
1090      <entry/>
1091    </row>
1092    <row>
1093      <entry>27.9</entry>
1094      <entry>File-based streams</entry>
1095      <entry>Y</entry>
1096      <entry/>
1097    </row>
1098    <row>
1099      <entry>
1100	<emphasis>28</emphasis>
1101      </entry>
1102      <entry namest="c2" nameend="c4" align="left">
1103	<emphasis>Regular expressions</emphasis>
1104      </entry>
1105    </row>
1106    <row>
1107      <entry>28.1</entry>
1108      <entry>General</entry>
1109      <entry>Y</entry>
1110      <entry/>
1111    </row>
1112    <row>
1113      <entry>28.2</entry>
1114      <entry>Definitions</entry>
1115      <entry>Y</entry>
1116      <entry/>
1117    </row>
1118    <row>
1119      <entry>28.3</entry>
1120      <entry>Requirements</entry>
1121      <entry>Y</entry>
1122      <entry/>
1123    </row>
1124    <row>
1125      <entry>28.4</entry>
1126      <entry>Header <code>&lt;regex&gt;</code> synopsis</entry>
1127      <entry>Y</entry>
1128      <entry/>
1129    </row>
1130    <row>
1131      <entry>28.5</entry>
1132      <entry>Namespace <code>std::regex_constants</code></entry>
1133      <entry>Y</entry>
1134      <entry/>
1135    </row>
1136    <row>
1137      <entry>28.6</entry>
1138      <entry>Class <code>regex_error</code></entry>
1139      <entry>Y</entry>
1140      <entry/>
1141    </row>
1142    <row>
1143      <?dbhtml bgcolor="#B0B0B0" ?>
1144      <entry>28.7</entry>
1145      <entry>Class template <code>regex_traits</code></entry>
1146      <entry>Partial</entry>
1147      <entry><code>transform_primary</code> is not correctly implemented</entry>
1148    </row>
1149    <row>
1150      <entry>28.8</entry>
1151      <entry>Class template <code>basic_regex</code></entry>
1152      <entry>Y</entry>
1153      <entry/>
1154    </row>
1155    <row>
1156      <entry>28.9</entry>
1157      <entry>Class template <code>sub_match</code></entry>
1158      <entry>Y</entry>
1159      <entry/>
1160    </row>
1161    <row>
1162      <entry>28.10</entry>
1163      <entry>Class template <code>match_results</code></entry>
1164      <entry>Y</entry>
1165      <entry/>
1166    </row>
1167    <row>
1168      <entry>28.11</entry>
1169      <entry>Regular expression algorithms</entry>
1170      <entry>Y</entry>
1171      <entry/>
1172    </row>
1173    <row>
1174      <entry>28.12</entry>
1175      <entry>Regular expression Iterators</entry>
1176      <entry>Y</entry>
1177      <entry/>
1178    </row>
1179    <row>
1180      <entry>28.13</entry>
1181      <entry>Modified ECMAScript regular expression grammar</entry>
1182      <entry>Y</entry>
1183      <entry/>
1184    </row>
1185    <row>
1186      <entry>
1187	<emphasis>29</emphasis>
1188      </entry>
1189      <entry namest="c2" nameend="c4" align="left">
1190	<emphasis>Atomic operations</emphasis>
1191      </entry>
1192    </row>
1193    <row>
1194      <entry>29.1</entry>
1195      <entry>General</entry>
1196      <entry>Y</entry>
1197      <entry/>
1198    </row>
1199    <row>
1200      <entry>29.2</entry>
1201      <entry>Header <code>&lt;atomic&gt;</code> synopsis</entry>
1202      <entry>Y</entry>
1203      <entry/>
1204    </row>
1205    <row>
1206      <entry>29.3</entry>
1207      <entry>Order and consistency</entry>
1208      <entry>Y</entry>
1209      <entry/>
1210    </row>
1211    <row>
1212      <entry>29.4</entry>
1213      <entry>Lock-free property</entry>
1214      <entry>Y</entry>
1215      <entry/>
1216    </row>
1217    <row>
1218      <entry>29.5</entry>
1219      <entry>Atomic types</entry>
1220      <entry>Y</entry>
1221      <entry/>
1222    </row>
1223    <row>
1224      <entry>29.6</entry>
1225      <entry>Operations on atomic types</entry>
1226      <entry>Y</entry>
1227      <entry/>
1228    </row>
1229    <row>
1230      <entry>29.7</entry>
1231      <entry>Flag Type and operations</entry>
1232      <entry>Y</entry>
1233      <entry/>
1234    </row>
1235    <row>
1236      <entry>29.8</entry>
1237      <entry>Fences</entry>
1238      <entry>Y</entry>
1239      <entry/>
1240    </row>
1241    <row>
1242      <entry>
1243	<emphasis>30</emphasis>
1244      </entry>
1245      <entry namest="c2" nameend="c4" align="left">
1246	<emphasis>Thread support</emphasis>
1247      </entry>
1248    </row>
1249    <row>
1250      <entry>30.1</entry>
1251      <entry>General</entry>
1252      <entry>Y</entry>
1253      <entry/>
1254    </row>
1255    <row>
1256      <entry>30.2</entry>
1257      <entry>Requirements</entry>
1258      <entry>Y</entry>
1259      <entry/>
1260    </row>
1261    <row>
1262      <entry>30.3</entry>
1263      <entry>Threads</entry>
1264      <entry/>
1265      <entry/>
1266    </row>
1267    <row>
1268      <?dbhtml bgcolor="#B0B0B0" ?>
1269      <entry>30.3.1</entry>
1270      <entry>Class <code>thread</code></entry>
1271      <entry>Partial</entry>
1272      <entry><code>thread::id</code> comparisons not well-defined</entry>
1273    </row>
1274    <row>
1275      <entry>30.3.2</entry>
1276      <entry>Namespace <code>this_thread</code></entry>
1277      <entry>Y</entry>
1278      <entry/>
1279    </row>
1280    <row>
1281      <entry>30.4</entry>
1282      <entry>Mutual exclusion</entry>
1283      <entry/>
1284      <entry/>
1285    </row>
1286    <row>
1287      <entry>30.4.1</entry>
1288      <entry>Mutex requirements</entry>
1289      <entry/>
1290      <entry/>
1291    </row>
1292    <row>
1293      <entry>30.4.1.1</entry>
1294      <entry>In general</entry>
1295      <entry/>
1296      <entry/>
1297    </row>
1298    <row>
1299      <entry>30.4.1.2</entry>
1300      <entry>Mutex types</entry>
1301      <entry/>
1302      <entry/>
1303    </row>
1304    <row>
1305      <entry>30.4.1.2.1</entry>
1306      <entry>Class <code>mutex</code></entry>
1307      <entry>Y</entry>
1308      <entry/>
1309    </row>
1310    <row>
1311      <entry>30.4.1.2.2</entry>
1312      <entry>Class <code>recursive_mutex</code></entry>
1313      <entry>Y</entry>
1314      <entry/>
1315    </row>
1316    <row>
1317      <entry>30.4.1.3</entry>
1318      <entry>Timed mutex types</entry>
1319      <entry/>
1320      <entry/>
1321    </row>
1322    <row>
1323      <entry>30.4.1.3.1</entry>
1324      <entry>Class <code>timed_mutex</code></entry>
1325      <entry>Y</entry>
1326      <entry/>
1327    </row>
1328    <row>
1329      <entry>30.4.1.3.2</entry>
1330      <entry>Class <code>recursive_timed_mutex</code></entry>
1331      <entry>Y</entry>
1332      <entry/>
1333    </row>
1334    <row>
1335      <entry>30.4.1.4</entry>
1336      <entry>Shared timed mutex types</entry>
1337      <entry/>
1338      <entry/>
1339    </row>
1340    <row>
1341      <entry>30.4.1.4.1</entry>
1342      <entry>Class <code>shared_timed_mutex</code></entry>
1343      <entry>Y</entry>
1344      <entry/>
1345    </row>
1346    <row>
1347      <entry>30.4.2</entry>
1348      <entry>Locks</entry>
1349      <entry/>
1350      <entry/>
1351    </row>
1352    <row>
1353      <entry>30.4.2.1</entry>
1354      <entry>Class template <code>lock_guard</code></entry>
1355      <entry>Y</entry>
1356      <entry/>
1357    </row>
1358    <row>
1359      <entry>30.4.2.2</entry>
1360      <entry>Class template <code>unique_lock</code></entry>
1361      <entry>Y</entry>
1362      <entry/>
1363    </row>
1364    <row>
1365      <entry>30.4.2.3</entry>
1366      <entry>Class template <code>shared_lock</code></entry>
1367      <entry>Y</entry>
1368      <entry/>
1369    </row>
1370    <row>
1371      <entry>30.4.3</entry>
1372      <entry>Generic locking algorithms</entry>
1373      <entry>Y</entry>
1374      <entry/>
1375    </row>
1376    <row>
1377      <entry>30.4.4</entry>
1378      <entry>Call once</entry>
1379      <entry/>
1380      <entry/>
1381    </row>
1382    <row>
1383      <entry>30.4.4.1</entry>
1384      <entry>Struct <code>once_flag</code></entry>
1385      <entry>Y</entry>
1386      <entry/>
1387    </row>
1388    <row>
1389      <?dbhtml bgcolor="#B0B0B0" ?>
1390      <entry>30.4.4.2</entry>
1391      <entry>Function <code>call_once</code></entry>
1392      <entry>Broken</entry>
1393      <entry>Exception support is broken.
1394	See <link xmlns:xlink="http://www.w3.org/1999/xlink"
1395	xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR
1396	66146</link>.
1397      </entry>
1398    </row>
1399    <row>
1400      <entry>30.5</entry>
1401      <entry>Condition variables</entry>
1402      <entry>Y</entry>
1403      <entry/>
1404    </row>
1405    <row>
1406      <entry>30.5.1</entry>
1407      <entry>Class <code>condition_variable</code></entry>
1408      <entry>Y</entry>
1409      <entry/>
1410    </row>
1411    <row>
1412      <entry>30.5.2</entry>
1413      <entry>Class <code>condition_variable_any</code></entry>
1414      <entry>Y</entry>
1415      <entry/>
1416    </row>
1417    <row>
1418      <entry>30.6</entry>
1419      <entry>Futures</entry>
1420      <entry/>
1421      <entry/>
1422    </row>
1423    <row>
1424      <entry>30.6.1</entry>
1425      <entry>Overview</entry>
1426      <entry/>
1427      <entry/>
1428    </row>
1429    <row>
1430      <entry>30.6.2</entry>
1431      <entry>Error handling</entry>
1432      <entry>Y</entry>
1433      <entry/>
1434    </row>
1435    <row>
1436      <entry>30.6.3</entry>
1437      <entry>Class <code>future_error</code></entry>
1438      <entry>Y</entry>
1439      <entry/>
1440    </row>
1441    <row>
1442      <entry>30.6.4</entry>
1443      <entry>Shared state</entry>
1444      <entry>Y</entry>
1445      <entry/>
1446    </row>
1447    <row>
1448      <entry>30.6.5</entry>
1449      <entry>Class template <code>promise</code></entry>
1450      <entry>Y</entry>
1451      <entry/>
1452    </row>
1453    <row>
1454      <entry>30.6.6</entry>
1455      <entry>Class template <code>future</code></entry>
1456      <entry>Y</entry>
1457      <entry/>
1458    </row>
1459    <row>
1460      <entry>30.6.7</entry>
1461      <entry>Class template <code>shared_future</code></entry>
1462      <entry>Y</entry>
1463      <entry/>
1464    </row>
1465    <row>
1466      <entry>30.6.8</entry>
1467      <entry>Function template <code>async</code></entry>
1468      <entry>Y</entry>
1469      <entry/>
1470    </row>
1471    <row>
1472      <entry>30.6.9</entry>
1473      <entry>Class template <code>packaged_task</code></entry>
1474      <entry>Y</entry>
1475      <entry/>
1476    </row>
1477    <row>
1478      <entry>
1479	<emphasis>Appendix D</emphasis>
1480      </entry>
1481      <entry namest="c2" nameend="c4" align="left">
1482	<emphasis>Compatibility features</emphasis>
1483      </entry>
1484    </row>
1485    <row>
1486      <entry>D.1</entry>
1487      <entry>Increment operator with <code>bool</code> operand</entry>
1488      <entry/>
1489      <entry/>
1490    </row>
1491    <row>
1492      <entry>D.2</entry>
1493      <entry><code>register</code> keyword</entry>
1494      <entry/>
1495      <entry/>
1496    </row>
1497    <row>
1498      <entry>D.3</entry>
1499      <entry>Implicit declaration of copy functions</entry>
1500      <entry/>
1501      <entry/>
1502    </row>
1503    <row>
1504      <entry>D.4</entry>
1505      <entry>Dynamic exception specifications</entry>
1506      <entry/>
1507      <entry/>
1508    </row>
1509    <row>
1510      <entry>D.5</entry>
1511      <entry>C standard library headers</entry>
1512      <entry>Y</entry>
1513      <entry/>
1514    </row>
1515    <row>
1516      <entry>D.6</entry>
1517      <entry>Old iostreams members</entry>
1518      <entry>Y</entry>
1519      <entry/>
1520    </row>
1521    <row>
1522      <entry>D.7</entry>
1523      <entry><code>char*</code> streams</entry>
1524      <entry>Y</entry>
1525      <entry/>
1526    </row>
1527    <row>
1528      <entry>D.8</entry>
1529      <entry>Function objects</entry>
1530      <entry>Y</entry>
1531      <entry/>
1532    </row>
1533    <row>
1534      <entry>D.9</entry>
1535      <entry>Binders</entry>
1536      <entry>Y</entry>
1537      <entry/>
1538    </row>
1539    <row>
1540      <entry>D.10</entry>
1541      <entry><code>auto_ptr</code></entry>
1542      <entry>Y</entry>
1543      <entry/>
1544    </row>
1545    <row>
1546      <entry>D.11</entry>
1547      <entry>Violating exception-specifications</entry>
1548      <entry>Y</entry>
1549      <entry/>
1550    </row>
1551    <row>
1552      <entry>D.12</entry>
1553      <entry>Random shuffle</entry>
1554      <entry>Y</entry>
1555      <entry/>
1556    </row>
1557
1558  </tbody>
1559</tgroup>
1560</table>
1561
1562<table frame="all" xml:id="table.ts_status">
1563<title>C++ Technical Specifications Implementation Status</title>
1564
1565<tgroup cols="4" align="left" colsep="0" rowsep="1">
1566<colspec colname="c1"/>
1567<colspec colname="c2"/>
1568<colspec colname="c3"/>
1569<colspec colname="c4"/>
1570  <thead>
1571    <row>
1572      <entry>Paper</entry>
1573      <entry>Title</entry>
1574      <entry>Status</entry>
1575      <entry>Comments</entry>
1576    </row>
1577  </thead>
1578
1579  <tbody>
1580
1581    <row>
1582      <?dbhtml bgcolor="#C8B0B0" ?>
1583      <entry>
1584	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html">
1585	  N3662
1586	</link>
1587      </entry>
1588      <entry>C++ Dynamic Arrays</entry>
1589      <entry>N</entry>
1590      <entry>Array Extensions TS</entry>
1591    </row>
1592
1593    <row>
1594      <entry>
1595	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3793.html">
1596	  N3793
1597	</link>
1598      </entry>
1599      <entry>A proposal to add a utility class to represent optional objects</entry>
1600      <entry>Y</entry>
1601      <entry>Library Fundamentals TS</entry>
1602    </row>
1603
1604    <row>
1605      <entry>
1606	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3804.html">
1607	  N3804
1608	</link>
1609      </entry>
1610      <entry>Any library proposal</entry>
1611      <entry>Y</entry>
1612      <entry>Library Fundamentals TS</entry>
1613    </row>
1614
1615    <row>
1616      <?dbhtml bgcolor="#C8B0B0" ?>
1617      <entry>
1618	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html">
1619	  N3866
1620	</link>
1621      </entry>
1622      <entry>Invocation type traits, but dropping function_call_operator.</entry>
1623      <entry>N</entry>
1624      <entry>Library Fundamentals TS</entry>
1625    </row>
1626
1627    <row>
1628      <entry>
1629	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="">
1630	  N3905
1631	</link>
1632      </entry>
1633      <entry>Faster string searching (Boyer-Moore et al.)</entry>
1634      <entry>Y</entry>
1635      <entry>Library Fundamentals TS</entry>
1636    </row>
1637
1638    <row>
1639      <entry>
1640	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3915.pdf">
1641	  N3915
1642	</link>
1643      </entry>
1644      <entry>apply() call a function with arguments from a tuple</entry>
1645      <entry>Y</entry>
1646      <entry>Library Fundamentals TS</entry>
1647    </row>
1648
1649    <row>
1650      <?dbhtml bgcolor="#B0B0B0" ?>
1651      <entry>
1652	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3916.pdf">
1653	  N3916
1654	</link>
1655      </entry>
1656      <entry>Polymorphic memory resources</entry>
1657      <entry>Partial (missing pool resource and buffer resource classes)</entry>
1658      <entry>Library Fundamentals TS</entry>
1659    </row>
1660
1661    <row>
1662      <entry>
1663	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3920.html">
1664	  N3920
1665	</link>
1666      </entry>
1667      <entry>Extending shared_ptr to support arrays</entry>
1668      <entry>Y</entry>
1669      <entry>Library Fundamentals TS</entry>
1670    </row>
1671
1672    <row>
1673      <entry>
1674	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html">
1675	  N3921
1676	</link>
1677      </entry>
1678      <entry><code>string_view</code>: a non-owning reference to a string</entry>
1679      <entry>Y</entry>
1680      <entry>Library Fundamentals TS</entry>
1681    </row>
1682
1683    <row>
1684      <entry>
1685	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3925.pdf">
1686	  N3925
1687	</link>
1688      </entry>
1689      <entry>A sample proposal</entry>
1690      <entry>Y</entry>
1691      <entry>Library Fundamentals TS</entry>
1692    </row>
1693
1694    <row>
1695      <entry>
1696	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm">
1697	  N3932
1698	</link>
1699      </entry>
1700      <entry>Variable Templates For Type Traits</entry>
1701      <entry>Y</entry>
1702      <entry>Library Fundamentals TS</entry>
1703    </row>
1704
1705    <row>
1706      <entry>
1707	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf">
1708	  N4100
1709	</link>
1710      </entry>
1711      <entry>File System</entry>
1712      <entry>Y</entry>
1713      <entry>
1714	Link with
1715	<link linkend="manual.intro.using.linkage.experimental">
1716	<option>-lstdc++fs</option></link>
1717      </entry>
1718    </row>
1719
1720  </tbody>
1721</tgroup>
1722</table>
1723
1724<section xml:id="iso.2014.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
1725
1726  <section xml:id="iso.2014.filesystemts" xreflabel="Implementation Specific Behavior of the Filesystem TS"><info><title>Filesystem TS</title></info>
1727    <para>
1728      <emphasis>2.1 POSIX conformance [fs.conform.9945]</emphasis>
1729      The behavior of the filesystem library implementation will depend on
1730      the target operating system. Some features will not be supported
1731      on some targets. Symbolic links and file permissions
1732      are not supported on Windows.
1733    </para>
1734    <para>
1735      <emphasis>15.30 Rename [fs.op.rename]</emphasis>
1736      On Windows, <code>experimental::filesystem::rename</code>
1737      is implemented by calling <code>MoveFileExW</code> and so
1738      does not meet the requirements of POSIX <code>rename</code>
1739      when one or both of the paths resolves to an existing directory.
1740      Specifically, it is possible to rename a directory so it replaces
1741      a non-directory (POSIX requires an error in that case),
1742      and it is not possible to rename a directory to replace another
1743      directory (POSIX requires that to work if the directory being
1744      replaced is empty).
1745    </para>
1746  </section>
1747</section>
1748
1749</section>
1750