Fix timevar.cc build on systems that don't have CLOCK_MONOTONIC
[gcc.git] / libstdc++-v3 / doc / xml / manual / status_cxx2014.xml
blob9bed79bb9b2f8b8271a0f7e147a197ad88e046c9
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"?>
5 <info><title>C++ 2014</title>
6   <keywordset>
7     <keyword>ISO C++</keyword>
8     <keyword>2014</keyword>
9   </keywordset>
10 </info>
12 <para>
13 In this implementation the <literal>-std=gnu++14</literal> or
14 <literal>-std=c++14</literal> flag must be used to enable language
15 and library
16 features. See <link linkend="manual.intro.using.flags">dialect</link>
17 options. The pre-defined symbol
18 <constant>__cplusplus</constant> is used to check for the
19 presence of the required flag.
20 GCC 6.1 was the first release with non-experimental C++14 support,
21 so the API and ABI of features added in C++14 is only stable
22 since that release.
23 </para>
25 <para>
26 This status table is based on the table of contents of ISO/IEC 14882:2014.
27 Some subclauses are not shown in the table where the content is unchanged
28 since C++11 and the implementation is complete.
29 </para>
31 <para>
32 This section describes the C++14 and library TS support in
33 mainline GCC, not in any particular release.
34 </para>
36 <!-- Status is Yes or No, Broken/Partial-->
37 <!--
38    Yes
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>
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>
62   <tbody>
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>
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>
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>
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>
1558   </tbody>
1559 </tgroup>
1560 </table>
1562 <table frame="all" xml:id="table.ts_status">
1563 <title>C++ Technical Specifications Implementation Status</title>
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>
1579   <tbody>
1581     <row>
1582       <?dbhtml bgcolor="#C8B0B0" ?>
1583       <entry>
1584         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1593     <row>
1594       <entry>
1595         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1604     <row>
1605       <entry>
1606         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1615     <row>
1616       <?dbhtml bgcolor="#C8B0B0" ?>
1617       <entry>
1618         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
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>
1638     <row>
1639       <entry>
1640         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1649     <row>
1650       <?dbhtml bgcolor="#B0B0B0" ?>
1651       <entry>
1652         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1661     <row>
1662       <entry>
1663         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1672     <row>
1673       <entry>
1674         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1683     <row>
1684       <entry>
1685         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1694     <row>
1695       <entry>
1696         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1705     <row>
1706       <entry>
1707         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://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>
1720   </tbody>
1721 </tgroup>
1722 </table>
1724 <section xml:id="iso.2014.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
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>
1749 </section>