News

Space Game: A std::variant-Based State Machine by Example--Nikolai Wuttke

Did you think to use it like that?

Space Game: A std::variant-Based State Machine by Example

by Nikolai Wuttke

From the article:

One of a powerful uses of std::variant is to implement State Machines. Some time ago I showed a simple example, but today we have something bigger. In today’s article by Nikolai Wuttke you’ll see how to leverage std::variant and build a space game!

A simple workaround for the fact that std::equal takes its predicate by value--Raymond Chen

Simple and efficient.

A simple workaround for the fact that std::equal takes its predicate by value

by Raymond Chen

From the article:

The versions of the std::equal function that takes a binary predicate accepts the predicate by value, which means that if you are using a functor, it will be copied, which may be unnecessary or unwanted.

In my case, the functor had a lot of state, and I didn’t want to copy it....

2019-06 pre-Cologne mailing available (2 of 2)

The 2019-06 mailing of new standards papers is now available.

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
P1640R0 Error size benchmarking Ben Craig 2019-06-03 2019-06 WG21
P1641R0 Freestanding Library: Rewording the Status Quo Ben Craig 2019-06-03 2019-06 SG14, Library Evolution
P1642R0 Freestanding Library: Easy [utilities] Ben Craig 2019-06-03 2019-06 SG14, Library Evolution
P1643R0 Add wait/notify to atomic_ref David Olsen 2019-06-16 2019-06 SG1, Library Evolution, Library
P1644R0 Add wait/notify to atomic David Olsen 2019-06-16 2019-06 SG1, Library Evolution, Library
P1645R0 constexpr for numeric algorithms Ben Deane 2019-06-17 2019-06 Library Evolution, Library
P1648R0 A Generic Library for Lifetime Extension and In-place Construction Mingxin Wang 2019-06-15 2019-06 Library Evolution, Library
P1648R0 The Concept of Extending Argument and a Support Library Mingxin Wang 2019-06-18 2019-06 Library Evolution, Library
P1649R0 A Generic Library for Compile-time Routing Mingxin Wang 2019-06-15 2019-06 Library Evolution, Library
P1649R0 A Generic Library for Compile-time Routing Mingxin Wang 2019-06-18 2019-06 Library Evolution, Library
P1650R0 Output std::chrono::days with 'd' suffix Tomasz Kamiński 2019-05-25 2019-06 Library Evolution
P1651R0 bind_front should not unwrap reference_wrapper Tomasz Kamiński 2019-06-07 2019-06 Library Evolution
P1652R0 Printf corner cases in std::format Zhihao Yuan, Zhihao Yuan, Victor Zverovich 2019-06-13 2019-06 Library Evolution
P1654R0 ABI breakage - summary of initial comments Roger Orr 2019-06-13 2019-06 WG21
P1655R0 LEWG Omnibus Design Policy Paper Zach Laine 2019-06-13 2019-06 Library Evolution
P1656R0 "Throws: Nothing" should be noexcept Agustín Bergé 2019-06-16 2019-06 Library Evolution, Library
P1657R0 String substring checking Paul Fee 2019-06-16 2019-06 Library Evolution
P1658R0 Suggestions for Consensus on Executors Jared Hoberock, Bryce Adelstein Lelbach 2019-06-14 2019-06 SG1, Library Evolution
P1659R0 starts_with and ends_with Christopher Di Bella 2019-06-17 2019-06 LEWGI, Library Evolution
P1660R0 A Compromise Executor Design Sketch Eric Niebler, Jared Hoberock, Michael Garland, Kirk Shoop, Lewis Baker, Lee Howes 2019-06-17 2019-06 SG1, Library Evolution
P1661R0 Remove dedicated precalculated hash lookup interface Tomasz Kamiński 2019-06-13 2019-06 Library Evolution
P1662R0 Adding async RAII support to coroutines Lewis Baker 2019-06-17 2019-06 Evolution
P1663R0 Supporting return-value-optimisation in coroutines Lewis Baker 2019-06-19 2019-06 Evolution
P1665R0 Tag Based Customization Point Functions John Bandela 2019-06-17 2019-06 LEWGI
P1666R0 SG16: Unicode meeting summaries 2019/01/23 - 2019/05/22 Tom Honermann 2019-06-10 2019-06 SG16
P1667R0 Concept-aware noexcept specifiers Christopher Di Bella 2019-06-17 2019-06 EWGI
P1670R0 Side Effects of Checked Contracts and Predicate Elision Joshua Berne, Alisdair Meredith 2019-06-16 2019-06 Evolution
P1671R0 Contract Evaluation in Constant Expressions Joshua Berne, Alisdair Meredith 2019-06-16 2019-06 Evolution
P1672R0 "Axiom" is a False Friend Joshua Berne 2019-06-16 2019-06 Evolution
P1675R0 rethrow_exception must be allowed to copy Billy O'Neal 2019-06-10 2019-06 Evolution, Library
P1676R0 C++ Exception Optimizations. An experiment. Gor Nishanov 2019-06-17 2019-06 Evolution
P1677R0 Cancellation is not an Error Kirk Shoop 2019-06-17 2019-06 SG1, Evolution, Library Evolution
P1678R0 Callbacks and Composition Kirk Shoop 2019-06-17 2019-06 SG1, Library Evolution
P1679R0 String Contains function Wim Leflere 2019-06-12 2019-06 LEWGI
P1680R0 Implementing Contracts in GCC Andrew Sutton, Jeff Chapman 2019-06-17 2019-06 Evolution
P1681R0 Revisiting allocator model for coroutine lazy/task/generator Gor Nishanov 2019-06-17 2019-06 Library Evolution
P1682R0 std::to_underlying JeanHeyd Meneide 2019-06-17 2019-06 LEWGI, Library Evolution
P1684R0 mdarray: An Owning Multidimensional Array Analog of mdspan David Hollman, Christian Trott, Mark Hoemmen, Daniel Sundernland 2019-06-16 2019-06 Library Evolution
P1685R0 Make get/set_default_resource replaceable Pablo Halpern 2019-06-14 2019-06 Library Evolution
P1686R0 Mandating the Standard Library: Clause 27 - Time library Jeff Garland 2019-06-16 2019-06 Library
P1687R0 Summary of the Tooling Study Group's Pre-Cologne Telecons on Modules Tooling Interactions Bryce Adelstein Lelbach, Ben Craig 2019-06-17 2019-06 SG15, Evolution
P1688R0 Towards a C++ Ecosystem Technical Report Bryce Adelstein Lelbach 2019-06-17 2019-06 SG15, Evolution
P1689R0 Format for describing dependencies of source files Ben Boeckel, Brad King 2019-06-18 2019-06 SG15
P1690R0 Refinement Proposal for P0919 Heterogeneous lookup for unordered containers Xiao Shi, Mateusz Pusz, Geoffrey Romer 2019-06-13 2019-06 Library Evolution
P1696R0 Refinement proposal for P0920 Precalculated hash values in lookup Xiao Shi, Mateusz Pusz, Geoffrey Romer, Jay Feldblum 2019-06-13 2019-06 Library Evolution
P1697R0 Require a diagnostic for "declaration changes meaning" Botond Ballo 2019-06-15 2019-06 Core
P1700R0 Target-audience tables Christopher Di Bella, JC van Winkel 2019-06-17 2019-06 WG21
P1701R0 Inline Namespaces: Fragility Bites Nathan Sidwell 2019-06-14 2019-06 Evolution
P1702R0 Annex D Means Deprecated Corentin Jabot 2019-06-17 2019-06 Library Evolution
P1704R0 Undefined functions in axiom-level contract statements Andrzej Krzemieński, Joshua Berne 2019-06-17 2019-06 Evolution, Core
P1705R0 Enumerating Core Undefined Behavior Shafik Yaghmour 2019-06-13 2019-06 SG12
P1706R0 Programming Language Vulnerabilities for C++ update Michael Wong, Stephen Michel 2019-06-16 2019-06 SG12
P1708R0 Simple Statistics functions Richard Dosselmann, Michael Wong 2019-06-17 2019-06 SG19
P1709R0 Graph Data Structures Phillip Ratzloff, Richard Dosselmann, Michael Wong 2019-06-17 2019-06 SG19
P1710R0 Adding a global contract assumption mode Ville Voutilainen 2019-06-17 2019-06 Evolution
P1711R0 What to do about contracts? Bjarne Stroustrup 2019-06-15 2019-06 Evolution
P1713R0 Allowing both co_return; and co_return value; in the same coroutine Lewis Baker 2019-06-17 2019-06 Evolution
P1714R0 NTTP are incomplete without float, double, and long double! Jorg Brown 2019-06-17 2019-06 Evolution, Core
P1715R0 Loosen restrictions on "_t" typedefs and "_v" values. Jorg Brown 2019-06-17 2019-06 Core, Library Evolution, Library
P1716R0 ranges compare algorithm are over-constrained Tomasz Kamiński 2019-06-17 2019-06 Library Evolution
P1717R0 Compile-time Metaprogramming in C++ Andrew Sutton, Wyatt Childers 2019-06-17 2019-06 SG7
P1718R0 Mandating the Standard Library: Clause 25 - Algorithms library Marshall Clow 2019-06-17 2019-06 Library
P1719R0 Mandating the Standard Library: Clause 26 - Numerics library Marshall Clow 2019-06-17 2019-06 Library
P1720R0 Mandating the Standard Library: Clause 28 - Localization library Marshall Clow 2019-06-17 2019-06 Library
P1721R0 Mandating the Standard Library: Clause 29 - Input/Output library Marshall Clow 2019-06-17 2019-06 Library
P1722R0 Mandating the Standard Library: Clause 30 - Regular Expression library Marshall Clow 2019-06-17 2019-06 Library
P1723R0 Mandating the Standard Library: Clause 31 - Atomics library Marshall Clow 2019-06-17 2019-06 Library
P1724R0 C++ Standard Library Issues to be moved in Cologne Marshall Clow 2019-06-17 2019-06 WG21
P1725R0 Modular Topic Design Christopher Di Bella 2019-06-17 2019-06 SG20
P1727R0 Issues with current flat_map proposal Denis Yaroshevskiy 2019-06-15 2019-06 Library Evolution, Library
P1728R0 Preconditions, axiom-level contracts and assumptions -- an in depth study Andrzej Krzemieński 2019-06-17 2019-06 Evolution
P1729R0 Text Parsing Victor Zverovich 2019-06-14 2019-06 Library Evolution
P1730R0 Adding a global contract assumption mode Hyman Rosen, John Lakos, Alisdair Meredith 2019-06-14 2019-06 Evolution
P1731R0 Memory helper functions for containers Pablo Halpern, Ilya Burylov, Ruslan Arutyunyan 2019-06-14 2019-06 LEWGI, Library Evolution
P1732R0 Do not promise support for function syntax of operators CJ Johnson 2019-06-14 2019-06 Library Evolution, Library
P1733R0 User-friendly and Evolution-friendly Reflection: A Compromise David Sankel, Daveed Vandevoorde 2019-06-17 2019-06 SG7
P1734R0 Defaultable default constructors and destructors for all unions CJ Johnson 2019-06-14 2019-06 Evolution
P1735R0 SG19: Machine Learning 2019/04/11-2019/06/13 Michael Wong 2019-06-16 2019-06 SG19
P1736R0 SG14: Low Latency Meeting Minutes 2019/04/17-2019/06/12 Michael Wong 2019-06-16 2019-06 SG14
P1737R0 unique_function vs. any_invokable - Bikeshedding Off the Rails Nevin Liber 2019-06-17 2019-06 Library Evolution
P1738R0 The Executor Concept Hierarchy Needs a Single Root Eric Niebler 2019-06-17 2019-06 SG1, Library Evolution
P1739R0 Type erasure for forwarding ranges in combination with "subrange-y" view adaptors Hannes Hauswedell 2019-06-15 2019-06 Library Evolution
P1743R0 Contracts, Undefined Behavior, and Defensive Programming Rostislav Khlebnikov, John Lakos 2019-06-16 2019-06 Evolution, Library Evolution
P1744R0 Avoiding Misuse of Contract-Checking Rostislav Khlebnikov, John Lakos 2019-06-16 2019-06 Evolution, Library Evolution
P1745R0 Coroutine changes for C++20 and beyond Lewis Baker 2019-06-17 2019-06 Evolution
P1746R0 Feedback on [P1386R2] std::audio Richard Powell, David Singer, Sophia Poirier, Dan Klingler, Tony Guetta, JF Bastien 2019-06-17 2019-06 SG13, Library Evolution
P1747R0 Don't use `char8_t` and `std::u8string` yet in P1389 Yehezkel Bernat 2019-06-16 2019-06 SG20
P1748R0 Fill in [delay.cpp] TODO in D1389 Yehezkel Bernat 2019-06-16 2019-06 SG20
P1749R0 Access control for reflection Yehezkel Bernat 2019-06-17 2019-06 SG7
P1750R0 A Proposal to Add Process Management to the C++ Standard Library Klemens Morgenstern, Jeff Garland, Elias Kosunen, Fatih Bakir 2019-06-17 2019-06 LEWGI
P1751R0 Numeric Type Families John McFarlane 2019-06-17 2019-06 SG6, LEWGI
P1753R0 Name Lookup Should "Find the First Thing of That Name" Walter E Brown 2019-06-16 2019-06 Evolution
P1754R0 Rename concepts to standard_case for C++20, while we still can Herb Sutter, Casey Carter, Gabriel Dos Reis, Eric Niebler, Bjarne Stroustrup, Andrew Sutton, Ville Voutilainen 2019-06-17 2019-06 Evolution, Library Evolution, Library
P1756R0 Pointer lifetime-end zap Paul E. McKenney, Maged Michael, Jens Mauer, Peter Sewell, Martin Uecker, Hans Boehm, Hubert Tong, and Niall Douglas 2019-06-18 2019-06 SG1, LEWGI, Library Evolution
P1759R0 Native handle from file streams Elias Kosunen 2019-06-17 2019-06 LEWGI
P1760R0 snapshot_source - A Horse with a Better Name Tony Van Eerd 2019-06-17 2019-06 Library Evolution
P1761R0 Concurrent map customization options (SG1 version) David Goldblatt 2019-06-17 2019-06 SG1
P1762R0 Concurrent map customization options (LEWG version) David Goldblatt 2019-06-17 2019-06 SG1, Library Evolution
P1764R0 ssize() Should be Named count() Tony Van Eerd 2019-06-17 2019-06 Library Evolution
P1766R0 Mitigating minor modules maladies Richard Smith 2019-06-17 2019-06 Evolution
P1767R0 Packaging C++ Modules Richard Smith 2019-06-17 2019-06 SG15
P1768R0 Contiguous Containers Should Contain .data() Nevin Liber 2019-06-17 2019-06 LEWGI
P1769R0 The "default" contract build-level and continuation-mode should be implementation-defined Ville Voutilainen 2019-06-17 2019-06 Evolution
P1770R0 On vectors, tensors, matrices, and hypermatrices Vincent Reverdy 2019-06-17 2019-06 SG6, SG14, SG19, LEWGI
P1771R0 [[nodiscard]] for constructors Peter Sommerlad 2019-06-17 2019-06 EWGI, Evolution, Core
P1772R0 Variadic overload sets and overload sequences Vincent Reverdy 2019-06-17 2019-06 EWGI, LEWGI
P1773R0 Contracts have failed to provide a portable "assume" Timur Doumler 2019-06-17 2019-06 Evolution
P1774R0 Portable optimisation hints Timur Doumler 2019-06-17 2019-06 Evolution
P1779R0 ABI isolation for member functions S. Davis Herring 2019-06-18 2019-06 Evolution
P1782R0 Local contract restrictions S. Davis Herring 2019-06-18 2019-06 Evolution
P1786R0 Adding a global contract assumption mode Hyman Rosen, John Lakos, Alisdair Meredith 2019-06-17 2019-06 Evolution
P1787R0 Declarations and where to find them S. Davis Herring 2019-06-19 2019-06 Core
P1788R0 Reuse of the built modules (BMI) Olga Arkhipova 2019-06-17 2019-06 SG15, Core
P1789R0 Library Support for Expansion Statements Alisdair Meredith 2019-06-17 2019-06 SG1, Library Evolution
P1790R0 Networking TS changes to enable better DynamicBuffer composition Christopher Kohlhoff 2019-06-17 2019-06 Library Evolution
P1791R0 Evolution of the P0443 Unified Executors Proposal to accommodate new requirements Christopher Kohlhoff, Jamie Allsop 2019-06-17 2019-06 SG1
P1792R0 Simplifying and generalising Sender/Receiver for asynchronous operations Christopher Kohlhoff 2019-06-17 2019-06 SG1
P1793R0 Simplifying Contract Syntax Alisdair Meredith 2019-06-17 2019-06 Evolution
P1795R0 System topology discovery for heterogeneous & distributed computing Gordon Brown, Ruyman Reyes, Michael Wong, Mark Hoemmen, Jeff Hammond, Tom Scogland 2019-06-17 2019-06 SG1, SG14, Library Evolution
P1796R0 Effective Types: Examples Peter Sewell, Kayvan Memarian, Victor B. F. Gomes, Jens Gustedt, Hubert Tong 2019-06-19 2019-06 SG12
P1797R0 C/C++ Memory Object Model Papers - Introduction Peter Sewell 2019-06-19 2019-06 SG12
P1798R0 SG14 Linear Algebra SIG Meeting Minutes 2018/10/10-2019/06/06 Michael Wong 2019-06-18 2019-06 SG14

2019-06 pre-Cologne mailing available (1 of 2)

The 2019-06 mailing of new standards papers is now available.

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
N4814 2019 Belfast Meeting Invitation and Information Jamie Allsop 2019-06-16 2019-06 WG21
N4815 Cologne Agenda John Spicer 2019-06-04 2019-06 WG21
N4816 WG21 telecon meeting: Pre-Cologne Herb Sutter 2019-06-01 2019-06 WG21
N4817 2020 Prague Meeting Invitation and Information Hana Dusíková 2019-06-17 2019-06 WG21
N4818 Working Draft, C++ Extensions for Reflection David Sankel 2019-06-17 2019-06 N4766 WG21
N4819 Reflection TS - Editor's Report David Sankel 2019-06-17 2019-06 WG21
N4820 Working Draft, Standard for Programming Language C++ Richard Smith 2019-06-18 2019-06 N4810 WG21
N4821 Editors' Report - Programming Languages - C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2019-06-18 2019-06 WG21
P0037R7 Fixed-Point Real Numbers John McFarlane 2019-06-17 2019-06 P0037R6 SG6, LEWGI
P0237R10 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2019-06-17 2019-06 P0237R9 Library
P0267R9 A Proposal to Add 2D Graphics Rendering and Display to C++ Michael B. McLaughlin, Herb Sutter, Jason Zink, Guy Davidson, Michael Kazakov 2019-06-17 2019-06 P0267R8 SG13
P0288R4 any_invocable Ryan McDougall, Matt Calabrese 2019-06-19 2019-06 P0228R3 Library Evolution, Library
P0323R8 std::expected JF Bastien, Vicente Botet 2019-06-16 2019-06 P0323R7 Library
P0330R6 Literal Suffixes for ptrdiff_t and size_t JeanHeyd Meneide, Rein Halbersma 2019-06-17 2019-06 P0330R4 Evolution
P0401R1 Providing size feedback in the Allocator interface Chris Kennelly, Jonathan Wakely 2019-06-16 2019-06 P0401R0 Library Evolution, Library
P0429R7 A Standard flat_map Zach Laine 2019-06-13 2019-06 P0429R6 Library
P0466R4 Layout-compatibility and Pointer-interconvertibility Traits Lisa Lippincott 2019-06-17 2019-06 P0466R3 Core, Library
P0533R5 constexpr for and Oliver Rosten, Edward Rosten 2019-06-17 2019-06 P0533R4 Library
P0554R1 Composition of Arithmetic Types John McFarlane 2019-06-17 2019-06 P0554R0 SG6, LEWGI
P0592R1 To boldly suggest an overall plan for C++23 Ville Voutilainen 2019-06-17 2019-06 P0592R0 WG21
P0593R4 Implicit creation of objects for low-level object manipulation Richard Smith 2019-06-17 2019-06 P0593R3 Core, Library Evolution, Library
P0631R7 Math Constants Lev Minkovsky, John McFarlane 2019-06-16 2019-06 P0631R6 Library
P0642R2 The Concurrent Invocation Library Mingxin Wang, Wei Chen 2019-06-17 2019-06 P0642R1 SG1, Library Evolution, Library
P0645R9 Text Formatting Victor Zverovich 2019-06-16 2019-06 P0645R7 Library
P0652R3 Concurrent associative data structure with unsynchronized view Sergey Murylev, Anton Malakhov, Antony Polukhin 2019-06-14 2019-06 P0652R2 SG1
P0707R4 Metaclasses: Generative C++ Herb Sutter 2019-06-17 2019-06 P0707R3 SG7
P0709R3 Zero-overhead deterministic exceptions: Throwing values Herb Sutter 2019-06-15 2019-06 P0709R2 Evolution, Library Evolution
P0735R1 Interaction of memory_order_consume with release sequences Will Deacon, Jade Alglave 2019-06-17 2019-06 P0735R0 Core
P0784R6 More constexpr containers Daveed Vandevoorde, Peter Dimov,Louis Dionne, Nina Ranns, Richard Smith, Daveed Vandevoorde 2019-06-17 2019-06 P0784R5 Core, Library
P0792R4 function_ref: a non-owning reference to a Callable Vittorio Romeo 2019-06-17 2019-06 P0792R3 Library Evolution
P0797R2 Handling Concurrent Exceptions with Executors Matti Rintala, Michael Wong, Carter Edwards, Patrice Roy, Gordon Brown, Mark Hoemmen 2019-06-17 2019-06 P0797R1 SG1, SG14
P0848R2 Conditionally Trivial Special Member Functions Barry Revzin, Casey Carter 2019-06-16 2019-06 P0848R1 Core
P0849R1 auto(x): decay-copy in the language Zhihao Yuan 2019-06-17 2019-06 P0849R0 EWGI, Library Evolution
P0876R6 fiber_context - fibers without scheduler Oliver Kowalke, Nat Goodspeed 2019-06-17 2019-06 P0876R5 SG1
P0881R5 A Proposal to add stacktrace library Antony Polukhin, Antony Polukhin 2019-06-14 2019-06 P0881R4 Core, Library
P0901R4 Size feedback in operator new Chris Kennelly, Andrew Hunter 2019-06-16 2019-06 P0901R3 Evolution
P0917R2 Making operator?: overloadable Matthias Kretz 2019-06-17 2019-06 P0917R1 EWGI
P0939R3 Direction for ISO C++ H. Hinnant, R. Orr, B. Stroustrup, D. Vandevoorde, M. Wong 2019-06-17 2019-06 P0939R2 WG21
P0943R3 Support C atomics in C++ Hans Boehm 2019-06-17 2019-06 P0943R2 SG1, Library Evolution
P0957R2 PFA: A Generic, Extendable and Efficient Solution for Polymorphic Programming Mingxin Wang 2019-06-17 2019-06 P0957R1 SG7, Library Evolution, Library
P1021R4 Filling holes in Class Template Argument Deduction Mike Spertus, Timur Doumler, Richard Smith 2019-06-17 2019-06 P1021R3 Core
P1028R2 SG14 status_code and standard error object for P0709 Zero-overhead deterministic exceptions Niall Douglas 2019-06-16 2019-06 P1028R1 SG14, LEWGI, Library Evolution
P1029R2 move = relocates Niall Douglas 2019-06-16 2019-06 P1029R1 EWGI, Evolution
P1030R2 std::filesystem::path_view Niall Douglas 2019-06-16 2019-06 P1030R1 LEWGI, Library Evolution
P1031R2 Low level file i/o library Niall Douglas 2019-06-16 2019-06 P1031R1 SG1, SG14, LEWGI, Library Evolution
P1035R6 Input Range Adaptors Christopher Di Bella, Casey Carter, Corentin Jabot 2019-06-17 2019-06 P1035R5 Library
P1050R1 Fractional Numeric Type John McFarlane 2019-06-17 2019-06 P1050R0 SG6, LEWGI
P1065R1 constexpr INVOKE Tomasz Kamiński, Barry Revzin 2019-06-16 2019-06 P1065R0 Library
P1068R1 Vector API for random number generation Ilya Burylov, Pavel Dyakov, Ruslan Arutyunyan, Andrey Nikolaev 2019-06-14 2019-06 P1068R0 SG1
P1072R4 basic_string::resize_default_init Chris Kennelly, Mark Zeren 2019-06-17 2019-06 P1072R3 Library Evolution, Library
P1083R3 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2019-06-15 2019-06 P1083R2 Library
P1108R2 web_view Hal Finkel 2019-06-17 2019-06 P1108R1 SG13, LEWGI
P1115R0 Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if Marc Mutz 2019-06-17 2019-06 Library
P1116R0 Re-Gaining Exclusive Ownership from shared_ptrs Marc Mutz 2019-06-17 2019-06 SG1, Library Evolution
P1132R4 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide, Todor Buyukliev, Isabella Muerte 2019-06-17 2019-06 P1132R3 Library
P1135R5 The C++20 Synchronization Library David Olsen, Olivier Giroux, JF Bastien, Detlef Vollmann, Bryce Lelbach 2019-06-17 2019-06 P1135R4 Library
P1144R4 Object relocation in terms of move plus destroy Arthur O'Dwyer 2019-06-17 2019-06 P1144R3 EWGI, LEWGI
P1152R3 Deprecating volatile JF Bastien 2019-06-15 2019-06 P1152R2 Core, Library
P1155R3 More implicit moves Arthur O'Dwyer, David Stone 2019-06-17 2019-06 P1155R2 Core
P1172R1 The Concept of Memory Allocator Mingxin Wang 2019-06-17 2019-06 P1172R0 Library Evolution, Library
P1186R2 When do you actually use <=>? Barry Revzin 2019-06-17 2019-06 P1186R1 Core
P1202R2 Asymmetric Fences David Goldblatt 2019-06-17 2019-06 P1202R1 Library Evolution
P1207R2 Movability of Single-pass Iterators Corentin Jabot 2019-06-17 2019-06 P1207R1 Library
P1208R5 Adopt source location from Library Fundamentals V3 for C++20 Corentin Jabot, Robert Douglas 2019-06-17 2019-06 P1208R4 Library
P1217R2 Out-of-thin-air, revisited, again Hans Boehm 2019-06-17 2019-06 P1217R1 SG1
P1222R2 A Standard flat_set Zach Laine 2019-06-11 2019-06 P1222R1 Library
P1223R2 find_backward Zach Laine 2019-06-13 2019-06 P1223R1 Library
P1238R1 SG16: Unicode Direction Tom Honermann, Corentin Jabot, JeanHeyd Meneide, Mark Zeren, Martinho Fernandes, Peter Bindels, Steve Downey, Zach Laine 2019-06-16 2019-06 P1238R0 WG21
P1255R4 A view of 0 or 1 elements: view::maybe Steve Downey 2019-06-17 2019-06 P1255R3 Library Evolution
P1272R2 Byteswapping for fun&&nuf Isabella Muerte 2019-06-17 2019-06 P1272R1 Core, Library
P1280R2 Integer Width Literals Isabella Muerte 2019-06-17 2019-06 P1280R1 Library Evolution
P1301R3 [[nodiscard("should have a reason")]] JeanHeyd Meneide, Isabella Muerte 2019-06-17 2019-06 P1301R2 Core
P1315R2 secure_clear Miguel Ojeda 2019-06-17 2019-06 P1315R1 Evolution
P1320R2 Allowing contract predicates on non-first declarations Ville Voutilainen 2019-06-17 2019-06 P1320R1 Evolution
P1331R1 Permitting trivial default initialization in constexpr contexts CJ Johnson 2019-06-14 2019-06 P1331R0 Core
P1355R2 Exposing a narrow contract for ceil2 Chris Kennelly 2019-06-16 2019-06 P1355R1 SG6, Library Evolution, Library
P1361R1 Integration of chrono with text formatting Victor Zverovich , Daniela Engert, Howard E. Hinnant 2019-06-14 2019-06 P1361R0 Library
P1367R1 Not All Agents Have TLS Olivier Giroux 2019-06-17 2019-06 P1367R0 SG1
P1371R1 Pattern Matching Sergei Murzin, Michael Park, David Sankel, Dan Sarginson 2019-06-17 2019-06 P1371R0 Evolution
P1385R2 A proposal to add linear algebra support to the C++ standard library Guy Davidson, Bob Steagall 2019-06-19 2019-06 P1385R1 SG6, SG14, Library Evolution
P1386R2 A Standard Audio API for C++: Motivation, Scope, and Basic Design Timur Doumler, Guy Somberg, Guy Davidson 2019-06-18 2019-06 P1386R1 SG13, Library Evolution
P1391R2 Range constructor for std::string_view Corentin Jabot 2019-06-17 2019-06 P1391R1 Library Evolution, Library
P1394R2 Range constructor for std::span Corentin Jabot, Casey Carter 2019-06-17 2019-06 P1394R1 Library
P1401R1 Narrowing contextual conversions to bool Andrzej Krzemieński 2019-06-17 2019-06 P1401R0 Evolution
P1404R1 bad_alloc is not out-of-memory! Andrzej Krzemieński, Tomasz Kamiński 2019-06-17 2019-06 P1404R0 Evolution, Library Evolution
P1406R1 Add more std::hash specializations Alexander Zaitsev, Antony Polukhin 2019-06-14 2019-06 P1406R0 LEWGI, Library Evolution, Library
P1412R0 Class Natures for Safety Critical Code: On user-declared and user-defined special member functions Peter Sommerlad 2019-06-17 2019-06 SG12, SG20
P1413R1 Deprecate std::aligned_storage and std::aligned_union CJ Johnson 2019-06-14 2019-06 P1413R0 Library Evolution, Library
P1415R1 SG19 Machine Learning Layered List Michael Wong, Vincent Reverdy, Ritwik Dubey, Richard Dosselmann, Eugenio Bargiacchi 2019-06-16 2019-06 P1415R0 SG19
P1424R1 'constexpr' feature macro concerns Antony Polukhin 2019-06-14 2019-06 P1424R0 Library
P1429R2 Contracts That Work Joshua Berne, John Lakos 2019-06-16 2019-06 P1429R1 Evolution
P1436R1 Executor properties for affinity-based execution Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen 2019-06-17 2019-06 P1436R0 SG1, SG14, Library Evolution
P1450R1 Enriching type modification traits Vincent Reverdy 2019-06-17 2019-06 P1450R0 Library Evolution
P1466R2 Miscellaneous minor fixes for chrono Howard Hinnant 2019-06-17 2019-06 P1466R1 Library
P1467R1 Extended floating-point types Michał Dominiak, David Olsen 2019-06-17 2019-06 P1467R0 SG6, Evolution, Library Evolution
P1468R1 Fixed-layout floating-point type aliases Michał Dominiak, Boris Fomitchev, Sergei Nikolaev 2019-06-17 2019-06 P1468R0 SG6, Evolution, Library Evolution
P1485R1 Better keywords for the Coroutines Antony Polukhin 2019-06-14 2019-06 P1485R0 Evolution
P1522R0 Iterator Difference Type and Integer Overflow Eric Niebler 2019-06-17 2019-06 Library Evolution, Library
P1523R0 Views and Size Types Eric Niebler 2019-06-17 2019-06 Library Evolution, Library
P1525R0 One-Way execute is a Poor Basis Operation Eric Niebler, Kirk Shoop, Lewis Baker, Lee Howes 2019-06-17 2019-06 SG1, Library Evolution
P1604R1 The inline keyword is not in line with the design of modules Corentin Jabot 2019-06-17 2019-06 P1604R0 SG2, Evolution
P1609R1 C++ Should Support Just-in-Time Compilation Hal Finkel 2019-06-18 2019-06 P1609R0 EWGI
P1614R1 The Mothership Has Landed: Adding <=> to the Library Barry Revzin 2019-06-17 2019-06 P1614R0 Library
P1622R1 Mandating the Standard Library: Clause 31 - Thread support library Daniel Sunderland 2019-06-17 2019-06 P1622R0 Library
P1624R0 Resolving technical issues in parameter mapping equivalence and related problems Hubert S.K. Tong 2019-06-17 2019-06 Core
P1628R0 Unicode characters properties Corentin Jabot 2019-06-17 2019-06 SG16
P1629R0 Standard Text Encoding The Phantom Derpstorm 2019-06-17 2019-06 SG16
P1630R0 Spaceship needs a tune-up: Addressing some discovered issues with P0515 and P1185 Barry Revzin 2019-06-16 2019-06 Evolution, Core
P1633R0 Amendments to the C++20 Synchronization Library David Olsen, Olivier Giroux 2019-06-16 2019-06 SG1
P1634R0 Naming guidelines for modules Corentin Jabot 2019-06-17 2019-06 SG15
P1635R0 A Design for an Inter-Operable and Customizable Linear Algebra Library Jayesh Badwaik 2019-06-16 2019-06 SG14
P1636R0 Formatters for library types Lars Gullik Bjønnes 2019-06-14 2019-06 Library Evolution
P1638R0 basic_istream_view's iterator should not be copyable Corentin Jabot, Christopher Di Bella 2019-06-17 2019-06 Library Evolution, Library
P1639R0 Unifying source_location and contract_violation Corentin Jabot 2019-06-17 2019-06 Library Evolution, Library