C++Now 2023
2023-05-07..2023-05-12
Aspen, United States
C++Now ·
[C++Now 2017, C++Now 2018, C++Now 2019, C++Now 2022, C++Now 2023, C++Now 2024, C++Now 2026]
who it's for
C++ library authors, C++ developers, systems programmers, performance engineers, compiler engineers, build and tooling engineers, educators and course instructors
topics
SFINAE techniques for C++03; static reflection with C++23 tricks; commutativity checks for std::transform_reduce; C++20 modules and build tuning; safe arithmetic integer constraint types; state machines using std::ranges; SIMD intrinsics and slowdown pitfalls; catalog of C++ undefined behaviour; fulltext index with n-grams and string_view; platform-level global injection via templates; generator ranges without coroutine overhead; source/sink versus ranges semantics
| title | author | length |
|---|---|---|
| Lightning Talk: How Hard Can it be to SFINAE in C++03? | Christopher Fretz | 06m |
Demonstrates a portable C++03 SFINAE shim that detects either an ostream operator or a void print function at compile time with no runtime overhead, using a… | ||
| Lightning Talk: A Journey Back In Time - C++ Evolution | Andrei Zissu | 04m |
Forced to code on a borrowed laptop using pre-C++11 C++98 constraints, the presenter recreates a production feature under limits: no auto, no range-for, no… | ||
| Lightweight Wrappers for Conscious std::transform_reduce Operation Safety | Richárd Szalay | 04m |
Prototype library shim pstl::algorithm requires explicit commutativity annotations for operations used with parallel std::transform_reduce and uses C++20… | ||
| Lightning Talk: Global API Injection in C++ | Ben Deane | 05m |
A C++ pattern injects platform-level globals (logging, timing, networking) by specializing a base template so leaf code calls a function that resolves to a… | ||
| Lightning Talk: Static Reflection on the Budget in C++23 | Kris Jusiak | 05m |
Shows concrete tricks to get usable static reflection with current compilers: turn a struct into a structure-to-tuple using structured bindings and requires… | ||
| Lightning Talk: Your Favorite Undefined Behavior in C++ | JF Bastien | 19m |
Rapid-fire audience-sourced catalog of concrete C++ undefined behaviors with examples and surprising edge cases: macro expanding to the token "defined"… | ||
| Lightning Talk: C++ Builds: Time to Slow Down | Damien Buhl | 05m |
C++20 Modules cut build time to about half, and the talk argues for deliberately slowing releases to preserve human slack and safety. It lists concrete levers… | ||
| Lightning Talk: Safe Arithmetic Speed-Run: Experimental C++ Library | Luke Valenty | 06m |
Experimental Safe Arithmetic library on Intel's GitHub provides C++ types that encode integer constraints, using an integer constraint DSL and a mask primitive… | ||
| Lightning Talk: Powered by C++20 Meta-Programming (MP) | Kris Jusiak | 05m |
Claims a complete C++20 state machine implemented with template meta‑programming and std::ranges, fitting on a single slide and yielding zero-overhead… | ||
| Lightning Talk: Searching with C++ - A Fulltext Index Search Algorithm | Hana Dusikova | 05m |
Shows a small fulltext index implemented in modern C++ using string_view and ranges, transforming a needle into n‑grams ("engrams") and mapping each gram to a… | ||
| Lightning Talk: How we Grade C++ Assignments | Hans de Nivelle | 11m |
Course uses an automated grader that runs about five to seven tests per submission under a blackbox model and penalizes failures by start-with-full-score… | ||
| Lightning Talk: The Guide to C++ Conferences for Swimmers | Sebastian Theophil | 05m |
Ranks C++ conferences by actual swim access and hazards and gives a clear winner and losers. Finds Accu impossible to swim in because of pollution and raw… | ||
| Lightning Talk: An Entry-Level Software Engineer Asks for 10 More Things From You – Katherine Rocha | Katherine Rocha | 05m |
Ten concrete actions: share meeting invites and socials so visibility and team cohesion increase; share conference and event spots to avoid single points of… | ||
| Lightning Talk: Writing a Lookup Table in C++ | Richard Smith | 06m |
Implements a lookup table of successive integers using only punctuation operators because alphanumeric keys are “broken,” expressing constants with things like… | ||
| Lightning Talk: Into the Lambdaverse - Weird C++ Lambda Shenanigans | Timur Doumler | 05m |
Explains why modifying a captured variable sometimes fails: lambda's operator() is const unless mutable is used, but init-captures introduce an implicit auto… | ||
| Lightning Talk: operator for - C++ Generator Ranges Without Coroutine Overhead | Jonathan Müller | 04m |
Proposes operator for as a language-level transform that turns a body written like a coroutine into a lambda-taking function so ranges can use the fast… | ||
| Lightning Talk: Hilbert’s Hotel - the Untold Bits | Tobias Loew | 03m |
Hilbert’s Hotel claims a finite total area but infinite nightly revenue: a site plan partitions 1000 sq ft into halves so the geometric sum equals 1000 sq ft… | ||
| Lightning Talk: How to Leverage SIMD Intrinsics for Massive Slowdowns | Matthew Kolbe | 04m |
Naively replacing an elementwise loop with AVX-512 intrinsics (load eight, add eight, store eight) can be 5× slower because the compiler’s auto-vectorizer… | ||
| Lightning Talk: Christie Mystique | Tony Van Eerd | 04m |
Builds massive projection-mapped surfaces, from a 28 foot by 130 foot wall to hockey rinks covered by about six projectors and facades like Lotte World with… | ||
| Lightning Talk: Source/Sink vs. Ranges in C++ - What's the Difference? | Tony Van Eerd | 06m |
Quick experiments in Compiler Explorer compare a standard std::copy implementation to versions that use explicit source/sink functions and small… | ||
| Lightning Talk: Into the Lambdaverse — The Beginning | Timur Doumler, Fedor G Pikus | 07m |
Shows an actual code experiment: an immediately-invoked lambda that does ++n in an immediately-invoked lambda and variations that toggle mutable vs const… | ||
| Lightning Talk: Finding My First Compiler Bug | Braden Ganetsky | 05m |
Finds a reproducible Visual Studio bug where a non-type template parameter that holds a small structural type is correct at compile time (static_assert passes)… | ||
| nothing matches | ||