June 2019

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....

C++Now 2019: Robin Kuzmin “C++Now and CppCon, the View From Inside”

What the C++Now and CppCon are.

C++Now and CppCon, the View From Inside

by Robin Kuzmin

Topics:

  • What the C++Now and CppCon are. Brief history, purpose, and difference.
  • How to attend CppCon and get money for that.
  • How to attend C++Now and CppCon for free or partially for free.
  • How to avoid the expenses for the conference ticket, hotel, flight, pre-conf- and post-conf-classes.
  • How certain parts of the conferences work. Roles, tools, how one can participate and what it gives.
  • Future of C++Now and CppCon.
  • Annual time line of CppCon and C++Now. When to do what.

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

CppCast Episode 203: Movable Iterators with Corentin Jabot

Episode 203 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Corentin Jabot to discuss some of his proposals for C++20.

CppCast Episode 203: Movable Iterators with Corentin Jabot

by Rob Irving and Jason Turner

About the interviewee:

Corentin Jabot is a freelancer developer and member of the French National Body and the C++ committee where he participates in the tooling, Unicode and library evolution working groups. He has been doing C++ for about 10 years and currently works with Mobsya, a swiss non-profit making educational robots for kids.

"Allegro" Means Both Fast and Happy. Coincidence? - Andrei Alexandrescu

The Italian C++ Conference 2019 keynote:

"Allegro" Means Both Fast and Happy. Coincidence?

by Andrei Alexandrescu

About the video:

Sorting and searching. Two fundamental tasks in Computer Science, and definitely among the most studied. Efficient algorithms for sorting and searching are now taught in core undergraduate classes. Are they at their best, or is there more blood to squeeze from that stone? This talk will explore a few less known – but more allegro! – variants of classic algorithms.

Meeting C++ 2019: vote on the talks!

See which talks have been submitted, and help to decide which make it to the conference:

The voting on which talks should make it to Meeting C++ 2019 has begun

by Jens Weller

From the article:

With today, you can start to vote on all 120 submitted talks for Meeting C++ 2019!

With 120 talks submitted by 82 speakers, there is a lot to vote on. You don't have to vote on all talks, the order of talks is randomized, so as long as enough folks vote on a few talks, every talk should get a fair number of votes. You can vote for every talk between 0 - 5, where 5 is the best vote you can give. Also its possible to leave a comment and feedback for the speaker. The deadline to cast your votes is the last day of June.

CopperSpice: C++ ISO Standard

New video on the CopperSpice YouTube Channel:

C++ ISO Standard

by Barbara Geller and Ansel Sermersheim

About the video:

This was an interesting video for us since it covers how the C++ Standard is developed and the ISO process. We encourage everyone to watch this video and hope you gain an appreciation as we discovered for the work the committee members do on our behalf.

Please take a look and remember to subscribe!

Generic Interfaces with Generic Lambdas using C++ for SYCL -- Georgi Mirazchiyski

This blog post offers a generic description of using lambdas in C++ and how it's possible to use them with SYCL, an open standard interface for programming heterogeneous hardware using C++.

Generic Interfaces with Generic Lambdas using C++ for SYCL

by Georgi Mirazchiyski

From the article:

C++ Lambdas, first introduced in C++11, are an important part of the way that the SYCL standard is defined and implemented. SYCL is required to handle different types and pass around functions so lambdas are a good fit allowing anonymous function objects to be passed to SYCL kernels. We talk about how we use lambdas in our guides and documentation, but never about how lambdas work or even how to use them in SYCL, so in this blog post we will examine how they can be used in SYCL.