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