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<></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