# C++ 2014

ISO C++
2014

In this implementation the `-std=gnu++14` or `-std=c++14` flag must be used to enable language and library features. See dialect options. The pre-defined symbol `__cplusplus` is used to check for the presence of the required flag.

This page describes the C++14 and library TS support in mainline GCC SVN, not in any particular release.

## C++ 2014 Implementation Status

Paper | Title | Status | Comments
--- | --- | --- | ---
N3669 | Fixing constexpr member functions without const | Y |
N3668 | `exchange()` utility function | Y |
N3670 | Wording for Addressing Tuples by Type | Y |
N3656 | `make_unique` | Y |
N3462 | `std::result_of` and SFINAE | Y |
N3545 | An Incremental Improvement to `integral_constant` | Y |
N3642 | User-defined Literals for Standard Library Types | Y |
N3671 | Making non-modifying sequence operations more robust | Y |
N3654 | Quoted Strings Library Proposal | Y |
N3469 | Constexpr Library Additions: chrono | Y |
N3470 | Constexpr Library Additions: containers | Y |
N3471 | Constexpr Library Additions: utilities | Y |
N3658 | Compile-time integer sequences | Y |
N3659 | Shared Locking in C++ | Y |
N3421 | Making Operator Functors greater<> | Y |
N3657 | Adding heterogeneous comparison lookup to associative containers | Y |
N3655 | TransformationTraits Redux | Y |
N3644 | Null Forward Iterators | Partial | Only affects Debug Mode

## C++ Technical Specifications Implementation Status

Paper | Title | Status | Comments
--- | --- | --- | ---
N3662 | C++ Dynamic Arrays | N | Array Extensions TS
N3793 | A proposal to add a utility class to represent optional objects | Y | Library Fundamentals TS
N3804 | Any library proposal | Y | Library Fundamentals TS
N3866 | Invocation type traits, but dropping function_call_operator. | N | Library Fundamentals TS
N3905 | Faster string searching (Boyer-Moore et al.) | Y | Library Fundamentals TS
N3915 | apply() call a function with arguments from a tuple | Y | Library Fundamentals TS
N3916 | Polymorphic memory resources | N | Library Fundamentals TS
N3920 | Extending shared_ptr to support arrays | N | Library Fundamentals TS
N3921 | `string_view`: a non-owning reference to a string | Y | Library Fundamentals TS
N3925 | A sample proposal | Y | Library Fundamentals TS
N3932 | Variable Templates For Type Traits | Y | Library Fundamentals TS
N4100 | File System | Y | Link with `-lstdc++fs`