# C++ 201z

In this implementation the `-std=gnu++1z` or `-std=c++1z` 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++1z and library TS support in the GCC 6 series.

## C++ 201z Implementation Status

Paper | Title | Status | Comments
N4259 | Wording for `std::uncaught_exceptions` | Y |
N4190 | Removing `auto_ptr`, `random_shuffle()`, And Old `<functional>` Stuff | N |
N4284 | Contiguous Iterators | Y | No code changes required
N4089 | Safe conversions in `unique_ptr<T[]>` | Y |
N4277 | TriviallyCopyable `reference_wrapper` | Y |
N4258 | Cleaning-up noexcept in the Library | Y |
N4279 | Improved insertion interface for unique-key maps | Y |
N3911 | Transformation Trait Alias `void_t` | Y |
N4169 | A proposal to add invoke function template | Y |
N4280 | Non-member size() and more | Y |
N4366 | LWG 2228: Missing SFINAE rule in unique_ptr templated assignment | Y |
N4387 | Improving pair and tuple, revision 3 | Y |
N4389 | Wording for bool_constant, revision 1 | Y |
N4508 | A proposal to add shared_mutex (untimed) (Revision 4) | Y |
N4510 | Minimal incomplete type support for standard containers, revision 4 | Y |
P0013R1 | Logical Operator Type Traits (revision 1) | Y |

## C++ Technical Specifications Implementation Status

Paper | Title | Status | Comments
N4076 | A generalized callable negator | Y | Library Fundamentals 2 TS
N4273 | Uniform Container Erasure | Y | Library Fundamentals 2 TS
N4061 | Greatest Common Divisor and Least Common Multiple | Y | Library Fundamentals 2 TS
N4066 | Delimited iterators | Y | Library Fundamentals 2 TS
N4282 | The World's Dumbest Smart Pointer | Y | Library Fundamentals 2 TS
N4388 | Const-Propagating Wrapper | Y | Library Fundamentals 2 TS
N4391 | `make_array`, revision 4 | Y | Library Fundamentals 2 TS
N4502 | Support for the C++ Detection Idiom, V2 | Y | Library Fundamentals 2 TS
N4519 | Source-Code Information Capture | N | Library Fundamentals 2 TS
N4521 | Merge Fundamentals V1 into V2 | N | Library Fundamentals 2 TS
P0013R1 | Logical Operator Type Traits (revision 1) | Y | Library Fundamentals 2 TS