xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/doc/xml/manual/status_cxx2014.xml (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
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.
20</para>
21
22<para>
23This page describes the C++14 and library TS support in the GCC 5 series.
24</para>
25
26<table frame="all" xml:id="table.cxx14_status">
27<title>C++ 2014 Implementation Status</title>
28
29<tgroup cols="4" align="left" colsep="0" rowsep="1">
30<colspec colname="c1"/>
31<colspec colname="c2"/>
32<colspec colname="c3"/>
33<colspec colname="c4"/>
34  <thead>
35    <row>
36      <entry>Paper</entry>
37      <entry>Title</entry>
38      <entry>Status</entry>
39      <entry>Comments</entry>
40    </row>
41  </thead>
42
43  <tbody>
44
45    <row>
46      <entry>
47	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3669.pdf">
48	  N3669
49	</link>
50      </entry>
51      <entry>Fixing constexpr member functions without const</entry>
52      <entry>Y</entry>
53      <entry/>
54    </row>
55
56    <row>
57      <entry>
58	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html">
59	  N3668
60	</link>
61      </entry>
62      <entry><code>exchange()</code> utility function</entry>
63      <entry>Y</entry>
64      <entry/>
65    </row>
66
67    <row>
68      <entry>
69	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3670.html">
70	  N3670
71	</link>
72      </entry>
73      <entry>Wording for Addressing Tuples by Type</entry>
74      <entry>Y</entry>
75      <entry/>
76    </row>
77
78    <row>
79      <entry>
80	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3656.htm">
81	  N3656
82	</link>
83      </entry>
84      <entry><code>make_unique</code></entry>
85      <entry>Y</entry>
86      <entry/>
87    </row>
88
89    <row>
90      <entry>
91	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3462.html">
92	  N3462
93	</link>
94      </entry>
95      <entry><code>std::result_of</code> and SFINAE</entry>
96      <entry>Y</entry>
97      <entry/>
98    </row>
99
100    <row>
101      <entry>
102	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3545.pdf">
103	  N3545
104	</link>
105      </entry>
106      <entry>An Incremental Improvement to <code>integral_constant</code></entry>
107      <entry>Y</entry>
108      <entry/>
109    </row>
110
111    <row>
112      <entry>
113	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3642.pdf">
114	  N3642
115	</link>
116      </entry>
117      <entry>User-defined Literals for Standard Library Types</entry>
118      <entry>Y</entry>
119      <entry/>
120    </row>
121
122    <row>
123      <entry>
124	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3671.html">
125	  N3671
126	</link>
127      </entry>
128      <entry>Making non-modifying sequence operations more robust</entry>
129      <entry>Y</entry>
130      <entry/>
131    </row>
132
133    <row>
134      <entry>
135	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3654.html">
136	  N3654
137	</link>
138      </entry>
139      <entry>Quoted Strings Library Proposal</entry>
140      <entry>Y</entry>
141      <entry/>
142    </row>
143
144
145    <row>
146      <entry>
147	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3469.html">
148	  N3469
149	</link>
150      </entry>
151      <entry>Constexpr Library Additions: chrono</entry>
152      <entry>Y</entry>
153      <entry/>
154    </row>
155
156    <row>
157      <entry>
158	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3470.html">
159	  N3470
160	</link>
161      </entry>
162      <entry>Constexpr Library Additions: containers</entry>
163      <entry>Y</entry>
164      <entry/>
165    </row>
166
167    <row>
168      <entry>
169	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3471.html">
170	  N3471
171	</link>
172      </entry>
173      <entry>Constexpr Library Additions: utilities</entry>
174      <entry>Y</entry>
175      <entry/>
176    </row>
177
178
179    <row>
180      <entry>
181	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3658.html">
182	  N3658
183	</link>
184      </entry>
185      <entry>Compile-time integer sequences</entry>
186      <entry>Y</entry>
187      <entry/>
188    </row>
189
190    <row>
191      <entry>
192	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html">
193	  N3659
194	</link>
195      </entry>
196      <entry>Shared Locking in C++</entry>
197      <entry>Y</entry>
198      <entry/>
199    </row>
200
201
202    <row>
203      <entry>
204	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm">
205	  N3421
206	</link>
207      </entry>
208      <entry>Making Operator Functors greater&lt;&gt;</entry>
209      <entry>Y</entry>
210      <entry/>
211    </row>
212
213    <row>
214      <entry>
215	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3657.htm">
216	  N3657
217	</link>
218      </entry>
219      <entry>Adding heterogeneous comparison lookup to associative containers</entry>
220      <entry>Y</entry>
221      <entry/>
222    </row>
223
224    <row>
225      <entry>
226	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3655.pdf">
227	  N3655
228	</link>
229      </entry>
230      <entry>TransformationTraits Redux</entry>
231      <entry>Y</entry>
232      <entry/>
233    </row>
234
235    <row>
236      <?dbhtml bgcolor="#C8B0B0" ?>
237      <entry>
238	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3644.pdf">
239	  N3644
240	</link>
241      </entry>
242      <entry>Null Forward Iterators</entry>
243      <entry>Partial</entry>
244      <entry>Only affects Debug Mode</entry>
245    </row>
246
247  </tbody>
248</tgroup>
249</table>
250
251
252<table frame="all" xml:id="table.ts_status">
253<title>C++ Technical Specifications Implementation Status</title>
254
255<tgroup cols="4" align="left" colsep="0" rowsep="1">
256<colspec colname="c1"/>
257<colspec colname="c2"/>
258<colspec colname="c3"/>
259<colspec colname="c4"/>
260  <thead>
261    <row>
262      <entry>Paper</entry>
263      <entry>Title</entry>
264      <entry>Status</entry>
265      <entry>Comments</entry>
266    </row>
267  </thead>
268
269  <tbody>
270
271    <row>
272      <?dbhtml bgcolor="#C8B0B0" ?>
273      <entry>
274	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html">
275	  N3662
276	</link>
277      </entry>
278      <entry>C++ Dynamic Arrays</entry>
279      <entry>N</entry>
280      <entry>Array Extensions TS</entry>
281    </row>
282
283    <row>
284      <entry>
285	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3793.html">
286	  N3793
287	</link>
288      </entry>
289      <entry>A proposal to add a utility class to represent optional objects</entry>
290      <entry>Y</entry>
291      <entry>Library Fundamentals TS</entry>
292    </row>
293
294    <row>
295      <entry>
296	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3804.html">
297	  N3804
298	</link>
299      </entry>
300      <entry>Any library proposal</entry>
301      <entry>Y</entry>
302      <entry>Library Fundamentals TS</entry>
303    </row>
304
305    <row>
306      <?dbhtml bgcolor="#C8B0B0" ?>
307      <entry>
308	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html">
309	  N3866
310	</link>
311      </entry>
312      <entry>Invocation type traits, but dropping function_call_operator.</entry>
313      <entry>N</entry>
314      <entry>Library Fundamentals TS</entry>
315    </row>
316
317    <row>
318      <entry>
319	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="">
320	  N3905
321	</link>
322      </entry>
323      <entry>Faster string searching (Boyer-Moore et al.)</entry>
324      <entry>Y</entry>
325      <entry>Library Fundamentals TS</entry>
326    </row>
327
328    <row>
329      <entry>
330	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3915.pdf">
331	  N3915
332	</link>
333      </entry>
334      <entry>apply() call a function with arguments from a tuple</entry>
335      <entry>Y</entry>
336      <entry>Library Fundamentals TS</entry>
337    </row>
338
339    <row>
340      <?dbhtml bgcolor="#C8B0B0" ?>
341      <entry>
342	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3916.pdf">
343	  N3916
344	</link>
345      </entry>
346      <entry>Polymorphic memory resources</entry>
347      <entry>N</entry>
348      <entry>Library Fundamentals TS</entry>
349    </row>
350
351    <row>
352      <?dbhtml bgcolor="#C8B0B0" ?>
353      <entry>
354	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3920.html">
355	  N3920
356	</link>
357      </entry>
358      <entry>Extending shared_ptr to support arrays</entry>
359      <entry>N</entry>
360      <entry>Library Fundamentals TS</entry>
361    </row>
362
363    <row>
364      <entry>
365	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html">
366	  N3921
367	</link>
368      </entry>
369      <entry><code>string_view</code>: a non-owning reference to a string</entry>
370      <entry>Y</entry>
371      <entry>Library Fundamentals TS</entry>
372    </row>
373
374    <row>
375      <entry>
376	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3925.pdf">
377	  N3925
378	</link>
379      </entry>
380      <entry>A sample proposal</entry>
381      <entry>Y</entry>
382      <entry>Library Fundamentals TS</entry>
383    </row>
384
385    <row>
386      <entry>
387	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm">
388	  N3932
389	</link>
390      </entry>
391      <entry>Variable Templates For Type Traits</entry>
392      <entry>Y</entry>
393      <entry>Library Fundamentals TS</entry>
394    </row>
395
396    <row>
397      <entry>
398	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf">
399	  N4100
400	</link>
401      </entry>
402      <entry>File System</entry>
403      <entry>Y</entry>
404      <entry>
405	Link with
406	<link linkend="manual.intro.using.linkage.experimental">
407	<option>-lstdc++fs</option></link>
408      </entry>
409    </row>
410
411
412  </tbody>
413</tgroup>
414</table>
415
416</section>
417