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