The proposals sorted after mailing & subgroup

Source: ISO JTC1/SC22/WG21 - Papers 2016



- Concurrency -- Concurrency, Core -- Concurrency, Library Evolution -- Concurrency, SG14 -- Concurrency, SG14, Evolution -- Concurrency, SG14, Library Evolution -- Core -- Core, Library Evolution -- Evolution -- Evolution, Core -- Evolution, Library Evolution -- Evolution, SG14 -- Feature Testing -- Library -- Library Evolution -- Library Evolution, Evolution -- Library Evolution, Library -- Library Evolution, SG14 -- Library, File System -- Library, Library Evolution -- Numerics, Library Evolution, Library -- Reflection -- SG14 -- SG14, Library Evolution -- Transactional Memory -- WG21-


SD-1 - 2016 PL22.16/WG21 document list - John Spicer

N4568 - PL22.16/WG21 draft agenda: 29 Feb-05 Mar 2016, Jacksonville, FL/US - Clark Nelson

N4569 - Proposed Ranges TS working draft - Eric Niebler

N4570 - Oulu Meeting Information - Ville Voutilainen

N4571 - 2016-11 Issaquah meeting information - Herb Sutter

N4572 - WG21 telecon meeting: Pre-Jacksonville - Herb Sutter

N4573 - 2017-02 Kona WG21 Meeting Information - Thomas Plum

N4575 - Networking TS Working Draft - Jonathan Wakely

N4576 - Networking TS Editor's Report - Jonathan Wakely

N4577 - Technical Specification for C++ Extensions for Concurrency - Artur Laksberg


P0019R1 - Atomic View - H. Carter Edwards, Hans Boehm, Olivier Giroux, James Reus - Previous Paper: P0019R0

P0020R1 - Floating Point Atomic - H. Carter Edwards, Hans Boehm, Olivier Giroux, JF Bastien, James Reus - Previous Paper: P0020R0

P0024R1 - The Parallelism TS Should be Standardized - Jared Hoberock - Previous Paper: P0024R0

P0058R1 - An Interface for Abstracting Execution - Jared Hoberock, Michael Garland, Olivier Girioux - Previous Paper: P0058R0

P0072R1 - Light-Weight Execution Agents - Torvald Riegel - Previous Paper: P0072R0

P0076R1 - Vector and Wavefront Policies - Arch Robison, Pablo Halpern, Robert Geva, Clark Nelson, Jens Maurer - Previous Paper: P0076R0

P0124R1 - Linux-Kernel Memory Model - Paul E. McKenney, Ulrich Weigand, Andrea Parri - Previous Paper: P0124R0

P0126R1 - std::synchronic - Olivier Giroux - Previous Paper: P0126R0

P0190R0 - Proposal for New memory order consume Definition - Paul E. McKenney, Michael Wong, Hans Boehm, Jens Maurer

P0193R0 - Where is Vectorization in C++? - JF Bastien, Hans Boehm

P0260R0 - C++ Concurrent Queues - Lawrence Crowl, Chris Mysen

P0261R0 - C++ Distributed Counters - Lawrence Crowl

P0270R0 - Removing C dependencies from signal handler wording - Hans Boehm

P0279R0 - Read-Copy Update (RCU) for C++ - Paul E. McKenney

P0285R0 - Using customization points to unify executors - Christopher Kohlhoff

Concurrency, Core

P0250R0 - Wording improvements for initialization and thread ids (CWG 2046) - Hans Boehm

Concurrency, Library Evolution

P0206R0 - Discussion about std::thread and RAII - Ville Voutilainen

Concurrency, SG14

P0236R0 - Khronos's OpenCL SYCL to support Heterogeneous Devices for C++ - Michael Wong, Andrew Richards, Maria Rovatsou, Ruyman Reyes

Concurrency, SG14, Evolution

P0232R0 - A Concurrency ToolKit for Structured Deferral/Optimistic Speculation - Paul McKenney, Michael Wong, Maged Michael

P0234R0 - Towards Massive Parallelism(aka Heterogeneous Devices/Accelerators/GPGPU) support in C++ - Michael Wong, Hartmut Kaiser, Thomas Heller

Concurrency, SG14, Library Evolution

P0233R0 - Hazard Pointers: Safe Reclamation for Optimistic Concurrency - Maged M. Michael, Michael Wong


P0003R1 - Removing Deprecated Exception Specifications from C++17 - Alisdair Meredith - Previous Paper: P0003R0

P0138R1 - Construction Rules for enum class Values - Gabriel Dos Reis - Previous Paper: P0138R0

P0143R0 - Wording for Modules - Gabriel Dos Reis

P0143R1 - Wording for Modules - Gabriel Dos Reis - Previous Paper: P0143R0

P0167R1 - Core Language Working Group "ready" Issues for the February, 2016 (Jacksonville) meeting - William M. Miller - Previous Paper: P0167R0

P0263R0 - Core Language Working Group "tentatively ready" Issues for the February, 2016 (Jacksonville) Meeting - William M. Miller

P0278R0 - volatile solutions - Jon Kalb, Dan Saks

Core, Library Evolution

P0057R2 - Wording for Coroutines - Gor Nishanov - Previous Paper: P0057R1


P0018R2 - Lambda Capture of *this by Value - H. Carter Edwards, Daveed Vandevoorde, Christian Trott, Hal Finkel, Jim Reus, Robin Maffeo, Ben Sander - Previous Paper: P0018R1

P0028R1 - Using non-standard attributes - J. Daniel Garcia, Luis M. Sanchez, Massimo Torquati, Marco Danelutto, Peter Sommerlad - Previous Paper: P0028R0

P0035R1 - Dynamic memory allocation for over-aligned data - Clark Nelson - Previous Paper: P0035R0

P0073R1 - On unifying the coroutines and resumable functions proposals - Torvald Riegel - Previous Paper: P0073R0

P0082R1 - For Loop Exit Strategies (Revision 1) - Alan Talbot - Previous Paper: P0082R0

P0091R1 - Template parameter deduction for constructors (Rev. 3) - Mike Spertus, Faisal Vali, Richard Smith - Previous Paper: P0091R0

P0119R1 - Overload sets as function arguments - Andrew Sutton - Previous Paper: P0119R0

P0128R1 - constexpr_if - Ville Voutilainen - Previous Paper: P0128R0

P0144R1 - Structured Bindings - Herb Sutter, Bjarne Stroustrup, Gabriel Dos Reis - Previous Paper: P0144R0

P0146R1 - Regular Void - Matt Calabrese - Previous Paper: P0146R0

P0149R0 - Generalised member pointers - Jeff Snyder

P0184R0 - Generalizing the Range-Based For Loop - Eric Niebler

P0187R0 - Proposal of Bitfield Default Member Initializers - Andrew Tomazos

P0188R0 - Wording for [[fallthrough]] attribute - Andrew Tomazos - Previous Paper: P0068R0

P0189R0 - Wording for [[nodiscard]] attribute - Andrew Tomazos - Previous Paper: P0068R0

P0192R0 - Adding a Fundamental Type for Short Float - Boris Fomitchev, Sergei Nikolaev, Oliver Giroux

P0195R0 - Modernizing using-declarations - Robert Haberlach

P0207R0 - Ruminations on lambda captures - Ville Voutilainen

P0212R0 - Wording for [[maybe_unused]] attribute - Andrew Tomazos

P0221R0 - Proposed wording for default comparisons, revision 2 - Jens Maurer - Previous Paper: N4532

P0222R0 - Allowing Anonymous Structs as Return Values - Matthew Woehlke

P0223R0 - Class Namespace - Matthew Woehlke

P0224R0 - Implicit Return Type - Matthew Woehlke

P0238R0 - Return type deduction and SFINAE - Tomasz Kamin?sk

P0245R0 - Hexadecimal float literals for C++ - Thomas Koeppe

P0246R0 - Contract Assert Support Merged Proposal - Nathan Myers

P0247R0 - Criteria for Contract Support - Nathan Myers

P0251R0 - Unified Call Syntax Wording - Bjarne Stroustrup, Herb Sutter

P0252R0 - Operator Dot Wording - Bjarne Stroustrup, Gabriel Dos Reis

P0262R0 - A Class for Status and Optional Value - Lawrence Crowl

P0264R0 - auto operator= considered dangerous - Michael Price

P0266R0 - Removing Restrictions on requires-Expressions - Walter E. Brown

P0268R0 - up-to expression - Mike Spertus, Andrew Tomazos

P0273R0 - Proposed modules changes from implementation and deployment experience - Richard Smith, Chandler Carruth, David Jones

P0277R0 - const Inheritance - David Wilson

P0280R0 - Initialize unspecified aggregate members with direct list initialization - James Touton

P0281R0 - Remove comma elision in variadic function declarations - James Touton

P0283R0 - Standard and non-standard attributes - J. Daniel Garcia

P0284R0 - Unqualified enumerators in case labels - James Touton

P0287R0 - Simple Contracts for C++ - Gabriel Dos Reis

Evolution, Core

P0145R1 - Refining Expression Evaluation Order for Idiomatic C++ (Revision 2) - Gabriel Dos Reis, Herb Sutter, Jonathan Caves - Previous Paper: P0145R0

P0217R0 - Proposed wording for structured bindings - Jens Maurer

Evolution, Library Evolution

P0258R0 - is_contiguous_layout - Michael Spencer

Evolution, SG14

P0235R0 - A Packaging System for C++ - Guy Somberg, Brian Fitzgerald

Feature Testing

P0096R1 - Feature-testing recommendations for C++ - Clark Nelson - Previous Paper: P0096R0


P0005R3 - Adopt not_fn from Library Fundamentals 2 for C++17 - Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamin?ski - Previous Paper: P0005R2

P0010R0 - Adding a subsection for concurrent random number generation in C++17 - Pattabhi Raman

P0052R1 - Generic Scope Guard and RAII Wrapper for the Standard Library - Peter Sommerlad, Andrew L. Sandoval - Previous Paper: P0052R0

P0075R1 - Template Library for Index-Based Loops - Arch Robison, Pablo Halpern, Robert Geva, Clark Nelson - Previous Paper: P0075R0

P0161R0 - Bitset Iterators, Masks, and Container Operations - Nathan Myers

P0165R1 - C++ Standard Library Issues to be moved in Jacksonville - Marshal Clow - Previous Paper: P0165R0

P0175R0 - Synopses for the C library - Thomas Koeppe, Richard Smith

P0185R0 - Adding [nothrow-] swappable traits - Daniel Krugler

P0269R0 - Allocator-aware regular expressions - Mike Spertus - Previous Paper: N4245

Library Evolution

P0033R1 - Re-enabling shared_from_this (revision 1) - Jonathan Wakely, Peter Dimov - Previous Paper: P0033R0

P0046R1 - Change is_transparent to metafunction - Tomasz Kamin?ski - Previous Paper: P0046R0

P0055R1 - On Interactions Between Coroutines and Networking Library - Gor Nishanov - Previous Paper: P0055R0

P0063R1 - C++17 should refer to C11 instead of C99 - Clark Nelson, Hans Boehm - Previous Paper: P0063R0

P0067R1 - Elementary string conversions - Jens Maurer - Previous Paper: P0067R0

P0077R1 - is_callable, the missing INVOKE related trai - Agustín Bergé - Previous Paper: P0077R0

P0088R1 - Variant: a type-safe union that is rarely invalid (v5) - Axel Naumann - Previous Paper: P0088R0

P0089R1 - Quantifying Memory-Allocatiom Strategies - John Lakos, Jeffrey Mendelsohn, Alisdair Meredith, Nathan Myers - Previous Paper: P0089R0

P0122R1 - span: bounds-safe views of objects for sequences - Neil MacIntosh - Previous Paper: P0122R0

P0123R1 - string_span: bounds-safe views for sequences of characters - Neil MacIntosh - Previous Paper: P0123R0

P0174R0 - Deprecating Vestigial Library Parts in C++17 - Alisdair Meredith

P0177R0 - Cleaning up allocator_traits - Alisdair Meredith

P0178R0 - Allocators and swap - Alisdair Meredith

P0180R0 - Reserve a New Library Namespace Future Standardization - Alisdair Meredith

P0181R0 - Ordered By Default - Alisdair Meredith

P0186R0 - Iterator Facade Library Proposal for Ranges - Beman Dawes, Eric Niebler, Casey Carter

P0196R0 - A generic none_t literal type for Nullable types - Vicente J. Botet Escriba

P0197R0 - Default Tuple-like access - Vicente J. Botet Escriba

P0198R0 - Default Swap - Vicente J. Botet Escriba

P0199R0 - Default Hash - Vicente J. Botet Escriba

P0200R0 - A Proposal to Add Y Combinator to the Standard Library - Yegor Derevenets

P0201R0 - A cloning pointer-class for C++ - Jonathan Coe

P0202R0 - Add Constexpr Modifiers to Functions in and Headers - Antony Polukhin

P0208R0 - Copy-swap helper - Pablo Halpern

P0209R0 - make_from_tuple: apply for construction - Pablo Halpern

P0210R0 - A light-weight, dynamic array - Thomas Koeppe

P0211R0 - Allocator-aware library wrappers for dynamic allocation - Thomas Koeppe

P0213R0 - Reexamining the Performance of Memory-Allocation Strategies - Graham Bleaney

P0214R0 - Data-Parallel Vector Types & Operations - Matthias Kretz - Previous Paper: N4385

P0215R0 - A Civil-Time Library - Greg Miller, Bradley White

P0216R0 - A Time-Zone Library - Greg Miller, Bradley White

P0227R0 - Weakening the iterator categories of some standard algorithms - Thibaut Le Jehan

P0228R0 - A Proposal to Add Safe Integer Types to the Standard Library Technical Report - Robert Ramey

P0239R0 - valueless_by_exception - Tony Van Eerd

P0241R0 - Remove Future-Related Explicit Specializations for Void - Matt Calabrese

P0242R0 - Standard Library Support For Void - Matt Calabrese

P0244R0 - Text_view: A C++ concepts and range based character encoding and code point enumeration library - Tom Honermann

P0253R0 - Fixing a design mistake in the searchers interface in Library Fundamentals - Marshal Clow

P0257R0 - A byte type for the standard library. - Neil MacIntosh

P0259R0 - fixed_string: a compile-time string - Michael Price, Andrew Tomazos

P0271R0 - std::direct_init for plugging the metaprogramming constructor hole - Richard Smith, Tony Van Eerd, David Sankel

P0272R0 - Give 'std::string' a non-const '.data()' member function - David Sankel

P0274R0 - Clump - A Vector-like Sequence Container with Embedded Storage - Nevin Liber

P0286R0 - A networking library extension to support co_await-based coroutines - Christopher Kohlhoff

P0288R0 - A polymorphic wrapper for all Callable objects - David Krauss

Library Evolution, Evolution

P0009R1 - Polymorphic Multidimensional Array View - H. Carter Edwards, Christian Trott, Juan Alday, Jesse Perla, Mauro Bianco, Robin Maffeo, Ben Sander, Bryce Lelbach - Previous Paper: P0009R0

Library Evolution, Library

P0282R0 - Const-preserving overloads for the strtox family of functions - James Touton

Library Evolution, SG14

P0037R1 - Fixed point real numbers - John McFarlane - Previous Paper: P0037R0

P0040R1 - Extending memory management tools - Brent Friedman - Previous Paper: P0040R0

P0237R0 - On the standardization of fundamental bit manipulation utilities - Vincent Reverdy, Robert J. Brunner

Library, File System

P0218R0 - Adopt File System TS for C++17 - Beman Dawes

P0219R0 - Relative Paths for Filesystem - Beman Dawes, Jamie Allsop, Nicolai Josuttis

Library, Library Evolution

P0220R0 - Adopt Library Fundamentals TS for C++17 - Beman Dawes

P0226R0 - Mathematical Special Functions for C++17, v4 - Walter E. Brown, Axel Naumann, Edward Smith-Rowland - Previous Paper: N4437

Numerics, Library Evolution, Library

P0205R0 - Allow Seeding Random Number Engines With std::random_device - Moritz Klammler


P0194R0 - Static reflection (revision 4) - Matus Chochlik, Axel Naumann - Previous Paper: N4451

P0255R0 - C++ Static Reflection via template pack expansion - Cleiton Santoia Silva, Daniel Auresco - Previous Paper: N4447

P0256R0 - C++ Reflection Light - Cleiton Santoia Silva


P0203R0 - Considerations for the design of expressive portable SIMD vectors - Mathias Gaunard

P0230R0 - SG14 Games Dev/Low Latency/Financial Meeting Minutes 2015/10/14-2015/02/10 - Michael Wong

P0249R0 - Input Devices For 2D Graphics - Brett Searles

P0267R0 - A Proposal to Add 2D Graphics Rendering and Display to C++, - Michael McLaughlin - Previous Paper: N4073

SG14, Library Evolution

P0059R1 - Add rings to the Standard Library - Guy Davidson, Arthur O'Dwyer - Previous Paper: P0059R0

Transactional Memory

P0229R0 - SG5 Transactional Memory Meeting minutes 2015/11/02-2016/02/08 - Michael Wong

P0231R0 - Extending the Transactional Memory Technical Specification to Support Commit Actions - Victor Luchangco, Michael Spear, Michael Wong

P0265R0 - SG5 is NOT proposing Transactional Memory for C++17 - Michael Wong


P0142R0 - A Module System for C++ (Revision 4) - Gabriel Dos Reis

P0225R0 - Why I want Concepts, and why I want them sooner rather than later - Ville Voutilainen

P0240R0 - Why I want Concepts, but why they should come later rather than sooner - Matt Calabrese

P0248R0 - Concepts in C++17 - Andrew Sutton