+ constexpr std::hardware_{constructive,destructive}_interference_size
+ |
+
+ P0154R1
+
+ | No | __cpp_lib_hardware_interference_size >= 201603 |
Core Issue 1776: Replacement of class objects containing reference members |
+
+ P0137R1
+
+ | No | __cpp_lib_launder >= 201606 |
Wording for std::uncaught_exceptions |
N4259
- | Wording for std::uncaught_exceptions | Y | |
+ | 6.1 | __cpp_lib_uncaught_exceptions >= 201411 |
Variant: a type-safe union for C++17 |
+
+ P0088R3
+
+ | No | __has_include(<variant>) |
Library Fundamentals V1 TS Components: optional |
+
+ P0220R1
+
+ | 7 | __has_include(<optional>) |
Library Fundamentals V1 TS Components: any |
+
+ P0220R1
+
+ | 7 | __has_include(<any>) |
Library Fundamentals V1 TS Components: string_view |
+
+ P0220R1
+
+ | 7 | __has_include(<string_view>) |
Library Fundamentals V1 TS Components: memory_resource |
+
+ P0220R1
+
+ | No | __has_include(<memory_resource>) |
Constant View: A proposal for a std::as_const helper function template |
+
+ P0007R1
+
+ | 7 | __cpp_lib_as_const >= 201510 |
Improving pair and tuple |
+
+ N4387
+
+ | 6.1 | N/A |
make_from_tuple: apply for construction |
+
+ P0209R2
+
+ | No | __cpp_lib_make_from_tuple >= 201606 |
+ Removing auto_ptr , random_shuffle() ,
+ And Old <functional> Stuff
+ |
N4190
- |
- Removing auto_ptr , random_shuffle() ,
- And Old <functional> Stuff
- | N | |
-
- N4284
+ | No (kept for backwards compatibility) | |
Deprecating Vestigial Library Parts in C++17 |
+
+ P0174R2
- | Contiguous Iterators | Y | No code changes required |
+ | No | |
Making std::owner_less more flexible |
+
+ P0074R0
+
+ | 7 | __cpp_lib_transparent_operators >= 201510 |
std::addressof should be constexpr |
+
+ LWG2296
+
+ | No | __cpp_lib_addressof_constexpr >= 201603 |
Safe conversions in unique_ptr<T[]> |
- N4089
+ 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 | |
+ | 5 ? | |
LWG 2228: Missing SFINAE rule in unique_ptr templated assignment |
N4366
- |
- LWG 2228: Missing SFINAE rule in unique_ptr templated assignment
- | Y | |
-
- N4387
+ | 5 ? | |
Re-enabling shared_from_this |
+
+ P0033R1
- | Improving pair and tuple, revision 3 | Y | |
+ | 6.1 | __cpp_lib_enable_shared_from_this >= 201603 |
A proposal to add invoke function template |
+
+ N4169
+
+ | 6.1 | __cpp_lib_invoke >= 201411 |
TriviallyCopyable reference_wrapper |
+
+ N4277
+
+ | 5.1 | |
Adopt not_fn from Library Fundamentals 2 for C++17 |
+
+ P0005R4
+
+ | No | __cpp_lib_not_fn >= 201603 |
Fixes for not_fn |
+
+ P0358R1
+
+ | No | |
Fixing a design mistake in the searchers interface in Library Fundamentals |
+
+ P0253R1
+
+ | No | |
Extending memory management tools |
+
+ P0040R3
+
+ | No | |
shared_ptr::weak_type |
+
+ P0163R0
+
+ | 7 | __cpp_lib_shared_ptr_weak_type >= 201606 |
Transformation Trait Alias void_t |
+
+ N3911
+
+ | 6.1 | __cpp_lib_void_t >= 201411 |
Wording for bool_constant , revision 1 |
N4389
- | Wording for bool_constant, revision 1 | Y | |
+ | 6.1 | __cpp_lib_bool_constant >= 201505 |
Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17 |
+
+ P0006R0
+
+ | 7 | __cpp_lib_type_trait_variable_templates >= 201510 |
Logical Operator Type Traits |
+
+ P0013R1
+
+ | 6.1 | __cpp_lib_logical_traits >= 201510 |
Adding [nothrow-]swappable traits |
+
+ P0185R1
+
+ | 7 (__is_swappable available since 6.1) | __cpp_lib_is_swappable >= 201603 |
is_callable , the missing INVOKE related trait |
+
+ P0077R2
+
+ | No | __cpp_lib_is_callable >= 201603 |
has_unique_object_representations |
+
+ P0258R2
+
+ | No | __cpp_lib_has_unique_object_representations >= 201606 |
Ordered by default |
+
+ P0181R1
+
+ | No | __cpp_lib_default_order >= 201606 |
Polishing <chrono> |
+
+ P0092R1
+
+ | No | __cpp_lib_chrono >= 201510 |
Integrating std::string_view and std::string |
+
+ P0254R2
+
+ | 7 | |
Give 'std::string' a non-const '.data()' member function |
+
+ P0272R1
+
+ | 7 | |
Cleaning-up noexcept in the Library |
+
+ N4258
+
+ | 6.1 | __cpp_lib_allocator_traits_is_always_equal >= 201411 |
Contiguous Iterators |
+
+ N4284
+
+ | N/A | |
Minimal incomplete type support for standard containers |
+
+ N4510
+
+ | 7 (3.0) | __cpp_lib_incomplete_container_elements >= 201505
+ (the feature was always supported, but the macro was not defined until GCC 7)
+ |
Emplace return type |
+
+ P0084R2
+
+ | No | |
Improved insertion interface for unique-key maps |
+
+ N4279
+
+ | 6.1 | __cpp_lib_map_try_emplace >= 201411 ,
+ __cpp_lib_unordered_map_try_emplace >= 201411
+ |
Splicing Maps and Sets |
+
+ P0083R3
+
+ | No | __cpp_lib_node_extract >= 201606 |
Non-member size() and more |
+
+ N4280
+
+ | 6.1 | __cpp_lib_nonmember_container_access >= 201411 |
A Proposal to Add Constexpr Modifiers to reverse_iterator , move_iterator , array and Range Access |
+
+ P0031R0
+
+ | 7 | __cpp_lib_array_constexpr >= 201603 |
The Parallelism TS Should be Standardized |
+
+ P0024R2
+
+ | No | __has_include(<execution>) ,
+ __cpp_lib_parallel_algorithm >= 201603 |
An algorithm to "clamp" a value between a pair of boundary values |
+
+ P0025R0
+
+ | 7 | __cpp_lib_clamp >= 201603 |
Adopt Selected Library Fundamentals V2 Components for C++17 |
+
+ P0295R0
+
+ | No | __cpp_lib_gcd >= 201606 ,
+ __cpp_lib_lcm >= 201606
+ |
Proposal to Introduce a 3-Argument Overload to std::hypot |
+
+ P0030R1
+
+ | No | __cpp_lib_hypot >= 201603 |
Mathematical Special Functions for C++17 |
+
+ P0226R1
+
+ | 7 (6.1) | __cpp_lib_math_special_functions >= 201603
+ (for GCC 6 or pre-C++17 define
+ __STDCPP_WANT_MATH_SPEC_FUNCS__ to a non-zero value
+ and test for __STDCPP_MATH_SPEC_FUNCS__ >= 201003L )
+ |
Adopt the File System TS for C++17 |
+
+ P0218R1
+
+ | No | __has_include(<filesystem>) ,
+ __cpp_lib_filesystem >= 201603 |
Relative Paths for Filesystem |
+
+ P0219R1
+
+ | No | |
Adapting string_view by filesystem paths |
+
+ P0392R0
+
+ | No | |
constexpr atomic<T>::is_always_lock_free |
+
+ P0152R1
+
+ | No | __cpp_lib_atomic_is_always_lock_free >= 201603 |
A proposal to add shared_mutex (untimed) (Revision 4) |
N4508
- | A proposal to add shared_mutex (untimed) (Revision 4) | Y | |
-
- N4510
+ | 6.1 | __cpp_lib_shared_mutex >= 201505 |
Variadic lock_guard |
+
+ P0156R0
- |
- Minimal incomplete type support for standard containers, revision 4
- | Y | |
-
- P0013R1
-
- |
- Logical Operator Type Traits (revision 1)
- | Y | |