Skip to the primary navigation.
Skip to the content.
Schedule
2026 Schedule
2025 Schedule
2024 Schedule
2023 Schedule
Discord
Buy A Ticket!
Login/Register
Select Filters
Select Filters
Close
2022 Schedule
2022 Schedule
2022 Schedule
2023 Archive Schedule
2024 Schedule
2025 Archive Schedule
2026 Archive Schedule
Bethe Hall
C++Now 2022
C++Now 2026 Schedule
Confirm Your Session Details
CppNow 2023 Schedule
CppNow 2023 Sessions
CppNow 2026 Sessions
Entrance
Flug Auditorium
Forgot Password
Hudson Commons
Lobby
Login
Onboarding Complete
Organiser Registration
Privacy Policy
Profile
Registration
Review & Update Your Information
Social Events
Speaker Registration
Speaker Sessions
Updates Finished
Close
View Options
Volumetric
Condensed
Filters
✓
API Design
✓
Concurrency
✓
Coroutines
✓
Design Trends
✓
Embedded
✓
Future C++
✓
Generic/Metaprogramming
✓
Library in a Week / Feature in a Week
✓
Math/Analysis
✓
Parallelism
✓
Performance
✓
Security & Safety
✓
Tooling/Utilities
Clear filters
Close
Publish
Main Conference Sessions
Sunday 3rd May
Conference Registration
Social
15:00 - 18:00
Davis Commons, Level 2 of the Walter Isaacson Center
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Monday 4th May
Conference Welcome + Library In A Week Kickoff
Social
08:00 - 08:50
Flug Auditorium
Bob Steagall
Are We There Yet?
09:00 - 10:30
Flug Auditorium
View Slides
Sean Parent
std::optional — Standardizing Optionals over References
A Case Study
Standard Library
11:00 - 12:30
Flug Auditorium
View Slides
Steve Downey
Harnessing constexpr
A Path to Safer C++
Design Trends
11:00 - 12:30
Lauder Seminar Room
View Slides
Mikhail Svetkin
Undefined Behavior From the Compiler’s Perspective
A deep dive into what makes UBs so dangerous, and why people rightfully continue to use them anyways
Generic/Metaprogramming
11:00 - 12:30
Bethe Hall
View Slides
Shachar Shemesh
Pragmatic CMake
How to Avoid Headaches with Simple CMake
Tooling/Utilities
14:30 - 16:00
Flug Auditorium
Bret Brown
Overengineering max(a, b)
Mixed Comparison Functions, Common References, and Rust's Lifetime Annotations
Generic/Metaprogramming
14:30 - 16:00
Lauder Seminar Room
View Slides
Jonathan Müller
Introduction to Partial Ordering
Generic/Metaprogramming
14:30 - 16:00
Bethe Hall
View Slides
Matheus Izvekov
Advanced Ranges
Writing Modular, Clean, and Efficient Code with Custom Views
Generic/Metaprogramming
16:30 - 18:00
Flug Auditorium
View Slides
Steve Sorkin
import CMake; // Mastering C++ Modules
Marching Towards Standard C++ Dependency Management
Tooling/Utilities
16:30 - 18:00
Lauder Seminar Room
View Slides
Bill Hoffman
Safer C++ at Scale with Static Analysis
Math/Analysis
16:30 - 18:00
Bethe Hall
View Slides
Yitzhak Mandelbaum
Bethe Hall
Flug Auditorium
Lauder Seminar Room
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Tuesday 5th May
Library In A Week
Library in a Week / Feature in a Week
08:00 - 08:50
Flug Auditorium
Jeff Garland
Welcome to v1.0 of the meta::[[verse]]!
Future C++
09:00 - 10:30
Flug Auditorium
View Slides
Inbal Levi
Five Issues with std::expected and How to Fix Them
API Design
09:00 - 10:30
Lauder Seminar Room
View Slides
Vitaly Fanaskov
Runtime Polymorphism with Freedom and Performance
External Polymorphism and Type Erasure
Generic/Metaprogramming
09:00 - 10:30
Bethe Hall
View Slides
Eduardo Madrid
Zngur
Simplified Rust/C++ Integration
Standard Library
11:00 - 12:30
Flug Auditorium
View Slides
David Sankel
How the Linux User/Kernel ABI Really Works.
Driving the Linux kernel down at the metal.
Performance
11:00 - 12:30
Lauder Seminar Room
View Slides
Greg Law
C++ Memory Safety in WebKit
Design Trends
11:00 - 12:30
Bethe Hall
View Slides
Geoffrey Garen
Extending std::execution
Implementing Custom Algorithms with Senders & Receivers
Concurrency
14:30 - 16:00
Flug Auditorium
View Slides
Robert Leahy
Post-Modern Cmake
From 3.0 to 4.0
Tooling/Utilities
14:30 - 16:00
Bethe Hall
View Slides
Vito Gamberini
From SIMD Wrappers to SIMD Ranges
Part 1 Of 2
Performance
14:30 - 16:00
Lauder Seminar Room
View Slides
Denis Yaroshevskiy & Joel Falcou
Lambda All the Things
Design Trends
16:30 - 18:00
Flug Auditorium
View Slides
Braden Ganetsky
How to Build a Flexible Robot Brain One Bit at a Time
Embedded
16:30 - 18:00
Bethe Hall
Ramon Perez
From SIMD Wrappers to SIMD Ranges
Part 2 Of 2
Performance
16:30 - 18:00
Lauder Seminar Room
View Slides
Denis Yaroshevskiy & Joel Falcou
Lightning Talks
Open Content
20:00 - 21:30
Flug Auditorium
Inbal Levi
Bethe Hall
Flug Auditorium
Lauder Seminar Room
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
1830
1830
1900
1900
1930
1930
2000
2000
2030
2030
2100
2100
2130
2130
Wednesday 6th May
Library In A Week
Library in a Week / Feature in a Week
08:00 - 08:50
Flug Auditorium
Jeff Garland
Balancing the Books
09:00 - 10:30
Flug Auditorium
View Slides
Lisa Lippincott
Alex Stepanov, Generic Programming, and the STL
Standard Library
11:00 - 12:30
Flug Auditorium
Jon Kalb
Parallel Range Algorithms
The Evolution of Parallelism in C++
Future C++
11:00 - 12:30
Bethe Hall
View Slides
Ruslan Arutyunyan
Making Your Program Faster
On Multithreading and Automatic Compiler Vectorization
Performance
11:00 - 12:30
Lauder Seminar Room
View Slides
Ivica Bogosavljevic
Declarative Style Evolved
Declarative Structure
API Design
14:30 - 16:00
Flug Auditorium
View Slides
Ben Deane
Using TLA+ to Fix a Very Difficult glibc Bug
Concurrency
14:30 - 16:00
Lauder Seminar Room
View Slides
Malte Skarupke
Achieving Peak Performance for Matrix Multiplication
Performance
14:30 - 15:15
Bethe Hall
View Slides
Aliaksei Sala
Identifying Runtime Errors in Mixed C++ and Rust Codebases Using Formal Met …
How to exhaustively highlight runtime errors at their source for busy software engineers
Embedded
15:15 - 16:00
Bethe Hall
View Slides
Steve Barriault
CPS in Cmake
Marching Towards Standard C++ Dependency Management
Tooling/Utilities
16:30 - 18:00
Flug Auditorium
View Slides
Bill Hoffman
A View for Any Occasion
Implementing the C++ standard library proposal for any_view
API Design
16:30 - 18:00
Bethe Hall
View Slides
Patrick Roberts
Computing Correctness
What can formal verification do for us?
Math/Analysis
16:30 - 18:00
Lauder Seminar Room
View Slides
Nick Waddoups
Conference Picnic
Social
18:30 - 20:00
ACP Pavillion
Lightning Talks
Open Content
20:00 - 21:30
Flug Auditorium
Inbal Levi
Bethe Hall
Flug Auditorium
Lauder Seminar Room
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
1830
1830
1900
1900
1930
1930
2000
2000
2030
2030
2100
2100
2130
2130
Thursday 7th May
Library In A Week
Library in a Week / Feature in a Week
08:00 - 08:50
Flug Auditorium
Jeff Garland
Missing (and Future?) C++ Range Concepts
Generic/Metaprogramming
09:00 - 10:30
Flug Auditorium
View Slides
Jonathan Müller
Streamlining C++ Code
Avoiding Unnecessary Object Creation
Performance
09:00 - 10:30
Lauder Seminar Room
View Slides
Chandranath Bhattacharyya & Kathleen Baker
Declarative Refactoring for the Masses
Tooling/Utilities
09:00 - 10:30
Bethe Hall
View Slides
Andy Soffer
Getting the Lazy Task Done
Coroutines
11:00 - 12:30
Flug Auditorium
View Slides
Dietmar Kühl
C++ as a Microscope Into Hardware
Performance
11:00 - 12:30
Lauder Seminar Room
View Slides
Linus Boehm
How To Affect the Future of C++ Standard in 90 Minutes
Standard Library
11:00 - 12:30
Bethe Hall
View Slides
River Wu
Beyond Sequential Consistency
Leveraging Atomics for Fun and Profit
Performance
14:30 - 16:00
Flug Auditorium
View Slides
Christopher Fretz
Mastering the Code Review Process
Boosting Code Quality in your Organization
Design Trends
14:30 - 16:00
Lauder Seminar Room
View Slides
Peter Muldoon
A Practitioner’s Guide to Writing std-Compatible Views
Standard Library
14:30 - 16:00
Bethe Hall
Zach Laine
Program Correctness and its Limitations
Math/Analysis
16:30 - 18:00
Flug Auditorium
View Slides
David Sankel
C++ on Nightmare Mode
Achieving High Performance, Cross-Platform, and Reliable Code
Performance
16:30 - 18:00
Lauder Seminar Room
View Slides
Edouard Alligand
Growing Your Toolkit From Refactoring to Automated Migrations
Tooling/Utilities
16:30 - 18:00
Bethe Hall
View Slides
Matt Kulukundis
Bethe Hall
Flug Auditorium
Lauder Seminar Room
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
1630
1630
1700
1700
1730
1730
1800
1800
Friday 8th May
Library In A Week
Library in a Week / Feature in a Week
08:00 - 08:50
Flug Auditorium
Jeff Garland
Building Streams out of Hot Air
Coinductive Types in C++ Senders
Value Semantics
09:00 - 10:30
Flug Auditorium
View Slides
Steve Downey
Effective CTest
a random selection of best practices
Tooling/Utilities
09:00 - 10:30
Bethe Hall
View Slides
Daniel Pfeifer
Techniques for Declarative Programming in C++
Design Trends
09:00 - 10:30
Lauder Seminar Room
View Slides
Richard Powell
Generic Programming Considered Harmful?
Generic/Metaprogramming
11:00 - 12:30
Flug Auditorium
Jeff Garland
Future of C++ Panel Discussion / Conference Close
Open Content
14:30 - 16:00
Flug Auditorium
Bethe Hall
Flug Auditorium
Lauder Seminar Room
0800
0800
0830
0830
0900
0900
0930
0930
1000
1000
1030
1030
1100
1100
1130
1130
1200
1200
1230
1230
1300
1300
1330
1330
1400
1400
1430
1430
1500
1500
1530
1530
1600
1600
2025 Schedule
Lobby
Schedule
2025 Schedule
2025 Schedule
407757