Meeting C++ 2016
2016-11-18..2016-11-19
Berlin, Germany
[Meeting C++ 2014, Meeting C++ 2015, Meeting C++ 2016, Meeting C++ 2017, Meeting C++ 2018, Meeting C++ 2019, Meeting C++ 2020, Meeting C++ 2021, Meeting C++ 2022, Meeting C++ 2023, Meeting C++ 2024, Meeting C++ 2025]
| title | author | length |
|---|---|---|
| Timelapse of beginning | 01m | |
Meeting C++ 2016 was about to start when this video was taken! | ||
| FPGA and open hardware | Matt P. Dziubinski | 07m |
Claims a fully open-source flow from Verilog to bitstream for the iCE40 family and shows it actually synthesizes and configures hardware, not just slides. Uses… | ||
| TDD/BDD and DI | Kris Jusiak | 07m |
Claims an automatic mock injector that creates mocks for unbound interfaces at injection time, demonstrated with fake it and boost di. Shows TDD example… | ||
| Meta Monads | Odin Holmes | 06m |
meta monads describes a compile-time pattern that separates algorithm from data to avoid creating many intermediate types, using aliases inside specialized… | ||
| Standardese | Jonathan Müller | 07m |
Standardese is a practical C++ documentation generator that parses real headers (including templates and namespaces), extracts entities and comment commands… | ||
| QtCreator | Tobias Hunger | 07m |
QtCreator is an IDE written in C++ on the Qt toolkit that opens native build systems without extra JSON glue, handles large codebases (1 million lines for… | ||
| The Tragedy of the value based architecture | Juanpe Bolívar | 07m |
Value semantics collapse in large C++ apps when megabyte documents get copied everywhere and performance and threading force ad hoc mutation and locks; the… | ||
| Safe bool idiom | Giuseppe D'Angelo | 06m |
A small experiment replaces the old safe bool idiom with C++11's explicit operator bool and triggers three concrete breakages: expected loss of implicit… | ||
| Rpath and binary reuse | Luis Martinez de Bartolome | 06m |
Claim: embedded runtime library paths cause unpredictable linking and security risk when binaries move. Linux linker prefers executable rpath then… | ||
| Pimpl idiom, multiple Inheritance and facet pattern | Olivia Quinet | 07m |
C++11 library uses a shared_ptr pimpl with get_ptr downcast to make public objects immutable and shareable across containers, and it supports multiple… | ||
| Mocking C++ | Peter Bindels | 06m |
Creates mocks by overwriting vtable entries and filling a fake vtable with stub function pointers, uses reinterpret_cast hacks to plant member function… | ||
| Always generate all your serialization code | Andreas Reischnuck | 06m |
Claim: generate every serializer from one machine-readable description so a single source of truth replaces 300-page PDFs and the two months it can take to… | ||
| a small tool to browse your backtraces | Markus Goetz | 04m |
A tiny browser tool takes raw backtraces and turns symbol names into clickable links by running client-side JavaScript that recognizes C++ symbols and issues… | ||
| Hunting the mammoth in the modern age | Aurelien Regat-Barrel | 07m |
Argues that monolithic “mammoths” get replaced by microservices: small, few thousand lines of code services communicating over message queues or gRPC… | ||
| Standard Slam | Michael Caisse | 04m |
A rapid, performative reading of the C++ standard that quotes section numbers and warns that template name lookup and specialization placement actually change… | ||
| my favorite C++ feature | James McNellis | 06m |
Claim: C++ function pointers are the favorite feature and they behave oddly but predictably. Code examples build add and mul, a call(funcptr) that takes a… | ||
| On "simple" Optimizations | Chandler Carruth | 08m |
Uses Compiler Explorer to show clang and GCC generating huge code for four push_backs then collapsing to a simple sum only after adding v.reserve(4) or running… | ||
| Good Concepts | Bjarne Stroustrup | 12m |
A concrete claim: language-level Concepts plus a 100 page specification of STL semantics produce smaller, clearer templates and eliminate the worst… | ||
| Where C++17 is going | Michael S Wong | 07m |
C++17 ships as a conservative but concrete set of changes: ~400 national-body comments and about 200 extra pages document the work, the deprecated dynamic… | ||
| Keynote: What C++ is and what it will become | Bjarne Stroustrup | 01h 49m |
C++ combines low‑level hardware mapping with high‑level abstraction and claims to keep the cost where it’s used: zero-overhead abstraction. The language adds… | ||
| GSL ad hoc overview | Bjarne Stroustrup | 57m |
An explicit claim: a small Guideline Support Library of about a dozen abstractions makes ownership, nullness and ranges checkable and practical. It implements… | ||
| Keynote - C++ Metaprogramming: evolution and future direction | Louis Dionne | 01h 39m |
History of template metaprogramming leads to a concrete claim: representing compile-time entities as ordinary values (using Boost.Hana) lets code use normal… | ||
| the 6th event | Jens Weller | 09m |
Claims that the sixth mass extinction is the first one driven knowingly by a single species and that climate change plus land use are primary drivers, with… | ||
| Unicode in C++ | James McNellis | 01h 04m |
Covers concrete encoder behavior and migration choices: Unicode expands to 1,112,064 code points, UCS2 is obsolete, UTF‑32 fixes width but wastes space, UTF‑8… | ||
| The evolving search for modern APIs in Boost | Boris Schäling | 50m |
Boost merged a new library called boost.process after 10 years of iteration; it exposes an execute API built with variadic templates and Boost.Fusion, uses… | ||
| An implementer's view of Boost.SIMD | Joel Falcou | 01h 08m |
An implementer-level report on Boost.SIMD shows a workable C++11/14 library: a pack<T,N> abstraction, segmented range slicing for prologue/body/epilogue, and… | ||
| Want fast C++? Know your hardware! | Timur Doumler | 01h 01m |
Benchmarks use Google Benchmark on clang GCC and Visual Studio across two MacBooks; concrete results: row-major traversal beats column-major by ~30–35× for… | ||
| C++ Today: The beast is back | Jon Kalb | 01h 16m |
Argues that C++ is resurging because concrete changes deliver measurable results: zero-overhead principle and RAII let libraries like vector manage object… | ||
| The Memory Model in C++ | Rainer Grimm | 55m |
Explains what actually works: atomic building blocks like compare_exchange and test_and_set spinlocks, using acquire/release for pointer release and relaxed… | ||
| Product Types for C++2x | Vicente J. Botet Escribá | 53m |
Argues for a small, concrete API to treat arrays pairs tuples and aggregates uniformly so generic algorithms can tuple-like access elements, use C++17 fold… | ||
| Asynchronous IO Using Boost.Asio | Michael Caisse | 54m |
Explains concrete Boost.Asio patterns: use of timers to show one-thread vs two-thread behavior, strand serializes handlers to avoid races, and shared_from_this… | ||
| Functional reactive programming in C++ | Ivan Čukić | 50m |
Claims that C++ can do functional reactive design practically: compose transformations, avoid shared mutable state by message passing, and make components run… | ||
| A lock-free concurrent toolkit for hazard pointers | Michael S Wong | 01h 08m |
Proposal pushes hazard pointers and read‑copy‑update into Concurrency TS2 with concrete APIs: RAII HP owner that protects pointers, retire-not-delete… | ||
| Clang Static Analysis | Gabor Horvath | 54m |
Clang static analyzer performs path sensitive symbolic execution with a strong memory model and finds deep bugs but currently lacks cross‑translation‑unit… | ||
| Exploring C++17 and beyond | Mark Isaacson | 52m |
Lists what landed in C++17 and what’s aimed at C++20, claims a clear 2x compile-time win from modules in tested codebases, and gives practical details: use… | ||
| Learning and teaching modern C++ | Arne Mertz | 01h 03m |
Argues that "modern C++" means a pragmatic subset of best practices combining old and new features, not just new standards or templates; cites a 469-vote poll… | ||
| Ranges v3 and microcontrollers, a revolution | Odin Holmes | 01h 01m |
Shows a concrete run of Ranges v3 on bare metal: an output range can fail so a streaming copy returns remainder pair and code can write “as much as fits now… | ||
| Reduce: From functional programming to C++17 Fold expressions | Nikos Athanasiou | 53m |
C++17 introduces fold expressions that let variadic packs reduce in place, enabling compile‑time sums and logical quantifiers; the presenter shows a working… | ||
| The Speed Game: Automated Trading Systems in C++ | Carl Cook | 01h 05m |
Shows concrete claims, code and measurements: lists 1–10 µs typical C++ software path versus ~100 ns hardware/FPGA; explains BIOS/OS/network tuning, user‑space… | ||
| How to understand million-line C++ projects | Peter Bindels | 46m |
A concrete workflow emerges: scan a 7 million line C++ codebase with ~500 components, detect dependency cycles and measure their cost, iterate from slow shell… | ||
| How bad is meta-programming still today? | Peter Gottschling | 55m |
Compares C++98/03, C++11 and C++14 with concrete examples: a compile‑time Fibonacci and prime checker, a one‑header C compiler that emits a binary array, and… | ||
| SG14 (the GameDev & low latency ISO C++ working group) | Guy Davidson | 55m |
SG14 pushes concrete C++ fixes for low‑latency games: proposals include a standardized ring buffer (paper 59) and cache‑friendly flat_map/flat_set, while… | ||
| Why iterators got it all wrong | Arno Schödl | 01h 02m |
Why iterators got it all wrong - Arno Schödl - Meeting C++ 2016
Slides: https://meetingcpp.com/index.php/tv16/items/21.html | ||
| Qt's moc and QMetaObject reflection | Olivier Goffart | 52m |
Explains what moc actually generates for Qt's QMetaObject, shows a clang-based reimplementation called mng that replaces moc using clang and that compiles Qt… | ||
| Next Generation Debugging | Julian Smith | 01h 02m |
Recording and reversible debugging are real and usable: an undo live recorder library produces a single replay file containing program state and all… | ||
| Learn Robotics with C++ in 1 Hour | Jackie Kay | 01h 00m |
Claims that localization needs multiplying tiny probabilities across a laser scan and that a single scan can be on the order of 900000 points leads to… | ||
| Functional C++ for Fun and Profit | Phil Nash | 01h 04m |
Material demonstrates concrete techniques: use of lambdas and small functions to make C++ expression oriented, a builder pattern to keep domain objects… | ||
| Computer Architecture, C++, and High Performance | Matt P. Dziubinski | 01h 09m |
Concrete claims and repeatable measurements: microarchitecture matters more than abstract big‑O, loop unrolling doubles speed on real CPUs, and careful data… | ||
| Designing and Implementing a new Allocator model | Jonathan Müller | 50m |
Argues for a concrete replacement of the STL allocator: a single raw allocator model that allocates bytes not types, adds alignment and separate node/array… | ||
| How to test static_assert? | Roland Bock | 42m |
Problem: reliably verify compile time static_assert behavior across compilers. Solution builds on SQL++11/17: wrap static_assert into types and split condition… | ||
| Writing a reflection engine from scratch | Manuel Sanchez | 58m |
Goal is to produce both static and dynamic C++ reflection in about one hour using libclang Python bindings to parse headers and a jinja-like generator to emit… | ||
| SYCL building blocks for C++ libraries | Gordon Brown | 41m |
SYCL (SYCL 1.2 on top of OpenCL 1.2) is presented as a single-source C++14 model with concrete APIs: queues, command groups, buffers and accessors, plus… | ||
| Implementing a web game in C++14 | Kris Jusiak | 01h 01m |
A working C++14 match‑3 web game exists: source uses ranges, boost DI and SML for logic, SDL2 for rendering, compiled with M scripton into both asm.js and web… | ||
| Implementation of a multithreaded compile-time ECS in C++14 | Vittorio Romeo | 01h 08m |
A compile‑time, multithreaded ECS called ecst runs in C++14 and uses Boost Hana–style metaprogramming, a thread pool plus latch synchronization, a sparse… | ||
| Implementing `static` control flow in C++14 | Vittorio Romeo | 01h 02m |
Shows a concrete C++14 implementation of compile‑time branching and looping: a static_if implementation using generic lambdas, variable templates and… | ||
| nothing matches | ||