news
location
sponsors
info
tickets
2022 Schedule
All times given are in BST (British Summer Time - UTC+1)
Workshops (in person)
Monday
4th July 2022
std::cout
east const
const west
unsigned
08:30
- 10:00
Workshops registration
10:00
- 19:00
C++20 Concepts and Ranges in Practice
Nicolai Josuttis
Concurrent Thinking with C++20
Anthony Williams
Introduction to C++20 Coroutines
Mateusz Pusz
Better Code Reviews
Jason Turner
19:00
- 21:00
Pre-registration reception
In person
Tuesday
5th July 2022
main()
std::cout
east const
08:00
- 09:00
Arrival and registration
09:00
- 09:30
Intro
09:30
- 10:30
Keynote: Lightning Updates
Hana Dusíková
10:30
- 11:00
Refreshments break (30 mins)
11:00
- 12:30
Universal/Forwarding References - A Key to More Modern C++
Nicolai Josuttis
Sneak Peek: C++23
Mateusz Pusz
A Medley of C++
Walter E Brown
12:30
- 14:00
Lunch break (90 mins)
13:00
- 13:45
Sponsored: Meta-Programming in low latency trading
Edward Catmur
14:00
- 15:00
C++ Standard Parallelism
Bryce Adelstein Lelbach
Windows, macOS and the Web: Lessons from cross-platform development at think-cell
Sebastian Theophil
A Practical Approach to Error Handling
Arno Schoedl
15:00
- 15:30
Refreshments break (30 mins)
15:30
- 16:30
Aliasing: Risks, Opportunities and Techniques
Roi Barkan
To pass and return — the story of functions, values and compilers
Dawid Zalewski
How compilers work: introduction to LLVM passes
Andrzej Warzynski
16:30
- 17:00
break (30 mins)
17:00
- 18:00
Sandbox Games: Using WebAssembly and C++ to make a simple game
Ólafur Waage
Vocabulary types for composite class design
Jonathan Coe
oneAPI - Driving a New Era of Accelerated Computing
Vladimir Kostarev
18:00
- 18:30
break (30 mins)
18:30
- 19:30
⚡ Lightning Talks
In person
Wednesday
6th July 2022
main()
std::cout
east const
const west
08:00
- 09:00
Arrival and registration
09:00
- 09:15
Intro, announcements and updates
09:30
- 10:30
Contemporary C++ in Action
Daniela Engert
What Has C++20 Ever Done For Templates?
Hendrik Niemeyer
Comp Sci 80/20: How to Teach Modern C++?
Boguslaw Cyganek
Computing in the 1960s
Walter E Brown
10:30
- 11:00
Refreshments break (30 mins)
11:00
- 12:00
Help, My Team Is Stuck In The 90s
David Winterbottom
OptView2 - helping the compiler generate better code
Ofek Shilon
Refresher on containers, algorithms and performance
Vladimir Vishnevskii
Beginners guide to C++'s best kept secret --
std::algorithm
Mike Shah
12:00
- 13:30
Lunch break (90 mins)
13:30
- 15:00
An introduction to multithreading in C++20
Anthony Williams
What do you mean by "Cache Friendly"?
Björn Fahller
Redesigning Legacy Systems : Keys to success
Pete Muldoon
15:00
- 15:30
break (30 mins)
15:30
- 16:30
The Singleton Pattern - Anti-Pattern or Solution?
Klaus Iglberger
Identifying common code smells
Arne Mertz
16:30
- 17:00
Refreshments break (30 mins)
17:00
- 18:00
Midnote: For the Sake of Complexity
Kevlin Henney
19:30
- 22:00
Speaker's Dinner
In person
Thursday
7th July 2022
main()
std::cout
east const
const west
08:00
- 09:00
Arrival and registration
09:00
- 09:15
Intro, announcements and updates
09:30
- 10:30
What's in a bit - Designing, using and reverse-engineering binary file formats
Peter Bindels
Getting the most out of GDB
Mark Williamson
Greg Law
Strongly typed containers
Sandor Dargo
How to rangify your code
Tina Ulbrich
10:30
- 11:00
Refreshments break (30 mins)
11:00
- 12:30
Abstraction: the true superpower of C++
Guy Davidson
Contractual Disappointment in C++
John McFarlane
The Many Faces of Number ⟷ String Conversions
Dvir Yitzchaki
Coroutines: C++ vs Rust
Jonathan Müller
12:30
- 14:00
Lunch break (90 mins)
14:00
- 15:00
Six ways for implementing max: a walk through API design, dangling references and C++20 constraints
Amir Kirsh
Recipes for reducing allocations by C++ containers
Lukas Böger
How Hard Could It Be? Lessons Learned from Replacing
int64
With
int64_t
.
Andrew Soffer
Taking Static Type-safety to the Next Level: Physical Units for Matrices
Daniel Withopf
15:00
- 15:30
break (30 mins)
15:30
- 16:30
Plenary: C++ MythBusters
Victor Ciura
16:30
- 17:00
Refreshments break (30 mins)
17:00
- 18:00
Endnote: Making C++ Fun, Safe, and Accessible
Jason Turner
Online
Wednesday
13th July 2022
online 1
online 2
online 3
online 4
12:45
- 13:00
Intro
13:00
- 14:00
Keynote: Lightning Updates
Hana Dusíková
14:00
- 14:30
break (30 mins)
14:30
- 16:00
Universal/Forwarding References - A Key to More Modern C++
Nicolai Josuttis
A Medley of C++
Walter E Brown
An introduction to multithreading in C++20
Anthony Williams
Reflection API for modern C++
Matus Chochlik
16:00
- 16:30
break (30 mins)
📣 Q&A/ break
break (30 mins)
📣 Q&A/ break
16:30
- 17:30
C++ Standard Parallelism
Bryce Adelstein Lelbach
Windows, macOS and the Web: Lessons from cross-platform development at think-cell
Sebastian Theophil
Help, My Team Is Stuck In The 90s
David Winterbottom
Understanding C++ coroutines by example, part 1
Pavel Novikov
17:30
- 18:30
break (60 mins)
break (60 mins)
📣 Q&A/ break
📣 Q&A/ break
18:30
- 19:30
How compilers work: introduction to LLVM passes
Andrzej Warzynski
To pass and return — the story of functions, values and compilers
Dawid Zalewski
Taking Static Type-safety to the Next Level: Physical Units for Matrices
Daniel Withopf
Compile- and Run-Time Dependency Injection
Marius Feilhauer
19:30
- 20:00
break (30 mins)
📣 Q&A/ break
break (30 mins)
📣 Q&A/ break
20:00
- 21:00
Sandbox Games: Using WebAssembly and C++ to make a simple game
Ólafur Waage
Aliasing: Risks, Opportunities and Techniques
Roi Barkan
Sponsored: SYCL: Open Your Code to More Hardware Choices
Igor Vorobtsov
A Practical Guide to Loose Coupling
Kris Jusiak
21:00
- 21:30
break (30 mins)
break (30 mins)
📣 Q&A/ break
📣 Q&A/ break
Online
Thursday
14th July 2022
online 1
online 2
online 3
online 4
13:00
- 14:00
Midnote: For the Sake of Complexity
Kevlin Henney
14:00
- 14:30
break (30 mins)
14:30
- 15:30
Contemporary C++ in Action
Daniela Engert
What Has C++20 Ever Done For Templates?
Hendrik Niemeyer
Comp Sci 80/20: How to Teach Modern C++?
Boguslaw Cyganek
C++ puzzlers
Yuri Minaev
15:30
- 16:00
break (30 mins)
break (30 mins)
📣 Q&A/ break
📣 Q&A/ break
16:00
- 17:00
Vocabulary types for composite class design
Jonathan Coe
Beginners guide to C++'s best kept secret --
std::algorithm
Mike Shah
Refresher on containers, algorithms and performance
Vladimir Vishnevskii
OptView2 - helping the compiler generate better code
Ofek Shilon
17:00
- 18:00
break (60 mins)
📣 Q&A/ break
📣 Q&A/ break
📣 Q&A/ break
18:00
- 19:30
Computing in the 1960s
Walter E Brown
Redesigning Legacy Systems : Keys to success
Pete Muldoon
How Hard Could It Be? Lessons Learned from Replacing
int64
With
int64_t
.
Andrew Soffer
Understanding C++ coroutines by example, part 2: generators
Pavel Novikov
19:30
- 20:00
break (30 mins)
📣 Q&A/ break
break (30 mins)
📣 Q&A/ break
20:00
- 21:00
The Singleton Pattern - Anti-Pattern or Solution?
Klaus Iglberger
Identifying common code smells
Arne Mertz
Coroutines: C++ vs Rust
Jonathan Müller
Discovering a User-Facing Concept
Christopher Di Bella
21:00
- 21:30
break (30 mins)
break (30 mins)
📣 Q&A/ break
📣 Q&A/ break
21:30
- 22:30
⚡ Lightning Talks
Online
Friday
15th July 2022
online 1
online 2
online 3
online 4
13:00
- 14:00
Getting the most out of GDB
Mark Williamson
Greg Law
A Practical Approach to Error Handling
Arno Schoedl
Recipes for reducing allocations by C++ containers
Lukas Böger
Strongly typed containers
Sandor Dargo
14:00
- 14:30
break (30 mins)
📣 Q&A/ break
📣 Q&A/ break
📣 Q&A/ break
14:30
- 16:00
Abstraction: the true superpower of C++
Guy Davidson
The Many Faces of Number ⟷ String Conversions
Dvir Yitzchaki
What do you mean by "Cache Friendly"?
Björn Fahller
Contractual Disappointment in C++
John McFarlane
16:00
- 16:30
📣 Q&A/ break
📣 Q&A/ break
📣 Q&A/ break
📣 Q&A/ break
16:30
- 17:30
Six ways for implementing max: a walk through API design, dangling references and C++20 constraints
Amir Kirsh
How to rangify your code
Tina Ulbrich
What's in a bit - Designing, using and reverse-engineering binary file formats
Peter Bindels
oneAPI - Driving a New Era of Accelerated Computing
Vladimir Kostarev
17:30
- 18:00
break (30 mins)
📣 Q&A/ break
break (30 mins)
📣 Q&A/ break
18:00
- 19:00
Plenary: C++ MythBusters
Victor Ciura
19:00
- 19:30
📣 Q&A/ break
19:30
- 20:30
Endnote: Making C++ Fun, Safe, and Accessible
Jason Turner
20:30
- 20:45
Wrap up