ACCU 2020 Schedule Published -- ACCU

The ACCU 2020 conference will take place in Bristol, UK from 2020-03-25 to 2020-03-28. The schedule has just been published.

ACCU 2020 Schedule

by ACCU

About the conference:

Four days with three C++ tracks and two tracks about tools, other languages, etc. Beside the sessions the conference is a great place to get in contact with speakers, exhibitors and other developers.

There are this year these keynote speakers: Emily Bache, Sean Parent, Patricia Aas and Kevlin Henney

And on March, 24th, the day before the conference, there is a day with fullday workshops:

ACCU 101: Early Career Day – Gail Ollis, Kevlin Henney, Giovanni Asproni, Chris Oldwood, Roger Orr

Better Code – Sean Parent

Getting High Regression Test Coverage Quickly using Approval Testing – Emily Bache

Good Modern C++ Design and Practices – Peter Sommerlad

Introduction to CMake – Craig Scott

Jumpstart Julia – Erik Engheim

Modern C++ Idioms – Mateusz Pusz

 

The registration is open and the "early bird" is available until 2020-02-03.

 

 

 

 

 

C++17 – La guía completa -- Nico Josuttis

C++17 – La guía completa (the spanish edition of "C++17 - The Complete Guide" by Nico Josuttis) is out:

C++17 - The Complete Guide in Spanish

by Nico Josuttis

About the publication

Translated for the spanish C++ community by Javier Estrada with significant help by Daniel Garcia.

For details, see

How and why overloading, templates, and auto deduction were invented? -- Milad Kahsari

Are you a student and wanted to know How and why overloading, templates, and auto deduction WERE invented? read the following article.

How and why overloading, templates, and auto deduction invented?

by Milad Kahsari

From the article:

Why we need the template function/classes and how this concept created by C++ compiler engineers? In this medium post, I want to go through the steps which made c++ experts think about the template concept and auto in the modern days of software development.

C++ - Initialization of Static Variables--Pablo Arias

A good summary.

C++ - Initialization of Static Variables

by Pablo Arias

From the article:

You are probably reading this because you code in C++. This means that you have battled frustration mastering auto deduction rules or lost your sanity trying to understand why std::initializer_list was considered a good idea. Anyone who has been doing this long enough knows that variable initialization is everything but trivial. It’s a problem too essential to ignore but too challenging to master. Today I’m here to tell you that there is more to it...

Madrid C++: C++ and WebAssembly

New C and C++ meetup in Madrid. Thursday the 30th at Liferay's HQ.

How to accelerate a website with C++ and WebAssembly (Spanish)

with Juan Morales and Miguel Cantón

In order to reduce latency, costs and gain scalability we decided to perform data analysis with Graphext using WebAssembly in the browser. We will talk about how to use emscripten to compile a C++ project to make it portable on all browsers.

2 Lines Of Code and 3 C++17 Features - The overload Pattern--Bartlomiej Filipek

Updated.

2 Lines Of Code and 3 C++17 Features - The overload Pattern

by Bartlomiej Filipek

From the article:

While I was doing research for my book and blog posts about C++17 several times I stumbled upon this pattern for visitation of std::variant:

template<class... Ts> struct overload : Ts... { using Ts::operator()...; };
template<class... Ts> overload(Ts...) -> overload<Ts...>;

With the above pattern, you can provide separate lambdas “in-place” for visitation.

It’s just two lines of compact C++ code, but it packs a few interesting concepts.

Let’s see how this thing works and go through the three new C++17 features that make this patter possible...

Why were abbrev. lambdas rejected?--Barry Revzin

Did you know about the proposal?

Why were abbrev. lambdas rejected?

by Barry Revzin

From the article:

In November, 2017, I presented my proposal for abbreviated lambdas (P0573R2) to Evolution in Albuquerque. It was rejected (6-17), though the group was willing to consider future proposals for shorter lambdas which present new technical information (18-2).

Since then, there’s been a lot of confusion about what actually happened and why it was rejected, and part of this was my fault for not doing a good job communicating this to interested parties. Actually, that’s generous - I didn’t really communicate anything. So here is my making up for lost time by actually conveying this information...

2020-01 pre-Prague mailing available (2 of 2)

The 2020-01 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
P1970R1 Consistency for size() functions Hannes Hauswedell 2020-01-13 2020-01 P1970R0 Library
P1976R1 Fixed-size 'span' construction from dynamic-size range Tomasz Kamiński 2020-01-03 2020-01 P1976R0 Library
P1985R0 Universal template parameters Gašper Ažman, Mateusz Pusz 2020-01-13 2020-01 EWGI
P1988R0 Allow Templates in Local Classes Steve Downey 2020-01-13 2020-01 EWGI, Evolution
P1990R0 Add operator[] to std::initializer_list Daniil Goncharov, Antony Polukhin 2019-12-16 2020-01 LEWGI, Library Evolution, Library
P1993R1 Restore shared state to bulk_execute Jared Hoberock 2020-01-12 2020-01 P1993R0 SG1, Library Evolution
P1997R1 Relaxing Restrictions on Arrays Krystian Stasiowski, Theodoric Stier 2020-01-13 2020-01 P1997R0 Evolution
P1998R1 Simple Facility for Lossless Integer Conversion Ryan McDougall 2020-01-08 2020-01 P1998R0 SG6, LEWGI
P2000R0 Direction for ISO C++ Michael Wong 2020-01-13 2020-01 WG21
P2002R0 Defaulted comparison specification cleanups Richard Smith 2019-12-17 2020-01 Core
P2003R0 Fixing Internal and External Linkage Entities in Header Units Michael Spencer 2020-01-13 2020-01 SG2, Evolution
P2004R0 Numbers and their Scopes Antony Polukhin 2019-12-17 2020-01 SG6, LEWGI
P2005R0 A Brief 2D Graphics Review James Berrow 2019-12-21 2020-01 SG13
P2006R0 Eliminating heap-allocations in sender/receiver with connect()/start() as basis operations Lewis Baker, Eric Niebler, Kirk Shoop, Lee Howes 2020-01-13 2020-01 SG1, Library Evolution
P2007R0 `std::from_chars` should work with `std::string_view` Mateusz Pusz 2020-01-10 2020-01 LEWGI, Library Evolution
P2008R0 Enable variable template template parameters Mateusz Pusz 2020-01-10 2020-01 EWGI
P2009R0 SG16: Unicode meeting summaries 2019-10-09 through 2019-12-11 Tom Honermann 2019-12-28 2020-01 SG16
P2010R0 Remove iostream operators from P1889 Daniil Goncharov 2019-12-27 2020-01 SG6, LEWGI
P2011R0 A pipeline-rewrite operator Barry Revzin, Colby Pike 2020-01-07 2020-01 Evolution
P2013R0 Freestanding Language: Optional ::operator new Ben Craig 2020-01-10 2020-01 SG14, Evolution
P2014R0 Proposed resolution for US061/US062 - aligned allocation of coroutine frames Lewis Baker, Gor Nishanov 2020-01-13 2020-01 Evolution
P2016R0 A step parameter for iota Corentin Jabot 2020-01-14 2020-01 Library Evolution
P2017R0 Conditionally safe ranges Barry Revzin 2020-01-07 2020-01 Library
P2020R0 Locales, Encodings and Unicode Corentin Jabot 2020-01-13 2020-01 SG16
P2021R0 Negative zero strikes again Victor Zverovich 2020-01-09 2020-01 Library Evolution
P2024R0 Bloomberg Analysis of Unified Executors David Sankel, Frank Birbacher, Marina Efimova, Dietmar Kuhl, Vern Riedlin 2020-01-13 2020-01 Library Evolution
P2025R0 Guaranteed copy elision for named return objects Anton Zhilin 2020-01-08 2020-01 EWGI
P2026R0 A Constituent Study Group for Safety-Critical Applications Ryan McDougall, Bryce Adelstein Lelbach, JF Bastien, Andreas Weis, Ruslan Arutyunyan, Ilya Burylov 2020-01-14 2020-01 WG21, Evolution, Library Evolution
P2027R0 Moved-from objects need not be valid Geoff Romer 2020-01-10 2020-01 Library Evolution, Library
P2028R0 What is ABI, and What Should WG21 Do About It? Titus Winters 2020-01-10 2020-01 Evolution, Library Evolution
P2029R0 Proposed resolution for core issues 411, 1656, and 2333; escapes in character and string literals Tom Honermann 2020-01-12 2020-01 Core
P2030R0 SG19: Machine Learning 2019/10/10-2020/01/09 Michael Wong 2020-01-10 2020-01 SG19
P2031R0 SG14: Meeting Minutes 2019/10/08-2020/01/07 Michael Wong 2020-01-10 2020-01 SG14
P2033R0 History of Executor Properties Jared Hoberock 2020-01-10 2020-01 SG1
P2034R0 Partially Mutable Lambda Captures Ryan McDougall 2020-01-11 2020-01 EWGI
P2035R0 Value Proposition: Allocator-Aware (AA) Software Pablo Halpern, John Lakos 2020-01-13 2020-01 LEWGI, Library Evolution
P2036R0 Changing scope for lambda trailing-return-type Barry Revzin 2020-01-12 2020-01 Evolution
P2037R0 String's gratuitous assignment Andrzej Krzemieński 2020-01-11 2020-01 Library Evolution
P2038R0 Proposed nomenclature for contract-related proposals Andrzej Krzemieński, Ryan McDougall 2020-01-11 2020-01 SG21
P2039R0 do_until Loop Menashe Rosemberg 2020-01-01 2020-01 LEWGI
P2040R0 Reflection-based lazy-evaluation Corentin Jabot 2020-01-13 2020-01 SG7
P2041R0 Deleting variable templates David Stone 2020-01-11 2020-01 Evolution
P2042R0 Alternate names for make_shared_default_init Andrzej Krzemieński 2020-01-11 2020-01 Library Evolution
P2043R0 Don't constexpr All The Things David Sankel 2020-01-13 2020-01 SG7
P2044R0 Member Templates for Local Classes Robert Leahy 2020-01-12 2020-01 EWGI, Evolution
P2045R0 Missing Mandates for the standard library Marshall Clow 2020-01-13 2020-01 Library
P2046R0 Rangify New Algorithms Dan Raviv 2020-01-12 2020-01 Library
P2047R0 An allocator-aware optional type Nina Ranns, Pablo Halpern Ville Voutilainen 2020-01-13 2020-01 LEWGI, Library Evolution
P2048R0 Prohibit zero and NULL from being used as null pointer literals Vittorio Romeo 2020-01-12 2020-01 EWGI
P2049R0 Constraint refinement for special-cased functions Andrew Sutton, Wyatt Childers 2020-01-13 2020-01 SG7
P2050R0 Tweaks to the design of source code fragments Andrew Sutton, Wyatt Childers 2020-01-13 2020-01 SG7
P2051R0 C++ Library Issues to be moved in Prague Marshall Clow 2020-01-13 2020-01 WG21
P2052R0 Making modern C++ i/o a consistent API experience from bottom to top Niall Douglas 2020-01-12 2020-01 SG1, LEWGI, Library Evolution
P2054R0 Audio I/O Software Use Cases Sophia Poirier, Frank Birbacher, Timur Doumler 2020-01-13 2020-01 SG13
P2055R0 A Relaxed Guide to memory_order_relaxed Paul E. McKenney, Hans Boehm 2020-01-12 2020-01 SG1
P2057R0 SG14 SG19 Past, Present and Future status Michael Wong, Ben Craig, Paul Bendixen, Matthew Bentley, Inbal Levi, Rene Riviera, Steffan Tjernstrom, Mark Hoemmen, Ronen Friedman 2020-01-13 2020-01 SG14, SG19
P2058R0 Make std::random_device Less Inscrutable Martin Hořeňovský 2020-01-13 2020-01 Library Evolution
P2059R0 Make Pseudo-random Numbers Portable Martin Hořeňovský 2020-01-13 2020-01 Library Evolution
P2060R0 Make Random Number Engines Seedable Martin Hořeňovský 2020-01-13 2020-01 Library Evolution
P2061R0 Sequential consistency for atomic memcpy David Goldblatt 2020-01-13 2020-01 SG1
P2062R0 The Circle Meta-model Daveed Vandevoorde, Wyatt Childers, Andrew Sutton, Faisal Vali 2020-01-13 2020-01 SG7
P2064R0 Assumptions Herb Sutter 2020-01-13 2020-01 SG21, Evolution
P2065R0 naming and aliases Kirk Shoop 2020-01-13 2020-01 Library Evolution
P2066R0 Suggested draft TS for C++ Extensions for Transaction Memory Light Jens Maurer, Michael L. Scott 2020-01-13 2020-01 SG1, Evolution
P2067R0 Allowing trailing commas in ctor-initializer Marc Mutz 2020-01-13 2020-01 EWGI
P2068R0 Using ?: to reduce the scope of constexpr-if Marc Mutz 2020-01-13 2020-01 EWGI
P2069R0 Stackable, thread local, signal guards Niall Douglas 2020-01-13 2020-01 SG1, SG12, EWGI, LEWGI
P2070R0 A case for optional and object_ptr Peter Sommerlad, Anthony Williams, Michael Wong, Jan Babst 2020-01-13 2020-01 SG12, LEWGI, Library Evolution, Library
P2071R0 Named universal character escapes Tom Honermann, Peter Bindels 2020-01-13 2020-01 SG16, Evolution
P2072R0 Differentiable programming for C++ Marco Foco, Vassil Vassilev, Max Rietmann, Michael Wong 2020-01-13 2020-01 SG19
P2073R0 Debugging C++ coroutines Dmitry Duka, Ivan Shutov, Konstantin Sadov 2020-01-13 2020-01 SG15
P2074R0 Asynchronous callstacks & coroutines Dmitry Duka 2020-01-13 2020-01 SG15
P2075R0 Philox as an extension of the C++ RNG engines Pavel Dyakov, Ilya Burylov; Ruslan Arutyunyan; Andrey Nikolaev 2020-01-13 2020-01 SG6
P2076R0 Previous disagreements on Contracts Ville Voutilainen 2020-01-13 2020-01 SG21
P2077R0 Heterogeneous erasure overloads for associative containers Konstantin Boyarinov, Sergey Vinogradov; Ruslan Arutyunyan 2020-01-13 2020-01 LEWGI
P2078R0 Add new traits type std::is_complex Bob Steagall 2020-01-13 2020-01 SG6, Library Evolution
P2079R0 Shared execution engine for executors Ruslan Arutyunyan, Michael Voss 2020-01-13 2020-01 SG1
P2080R0 Polymorphic allocators: There is no such thing as One True Vocabulary Type Ville Voutilainen 2020-01-13 2020-01 Library Evolution
P2081R0 Rebase the Library Fundamentals v3 TS on C++20 Thomas Köppe 2020-01-13 2020-01 Library Evolution, Library
P2082R0 Fixing CTAD for aggregates Timur Doumler 2020-01-13 2020-01 Core
P2087R0 Reflection Naming: fix reflexpr Mihail Naydenov 2020-01-12 2020-01 SG7
P2088R0 Reflection Naming: Reification Mihail Naydenov 2020-01-12 2020-01 SG7