CppCon 2016
2016-09-18..2016-09-23
Bellevue, United States
CppCon ·
[CppCon 2014, CppCon 2015, CppCon 2016, CppCon 2017, CppCon 2018, CppCon 2019, CppCon 2020, CppCon 2021, CppCon 2022, CppCon 2023, CppCon 2024]
who it's for
C++ application developers, library authors, systems programmers, tooling and IDE developers, performance engineers, build and release engineers, QA and debugging engineers
topics
immediate-mode GUI (Dear ImGui); readable C++ coding guidelines; signed versus unsigned type selection; STL performance techniques; STL algorithm mnemonics and editor snippets; Boost.Beast HTTP and WebSocket library; header-only MessagePack serialization; uftrace function graph tracing; expression SFINAE static-dispatch patterns; detection idiom (void_t / is_detected); C++ build systems and project generators (Conan, GENie); debuggability and Windows debugger internals
| title | author | length |
|---|---|---|
| Dear imgui | Nicolas Guillemot | 04m |
Dear ImGui is an immediate-mode C++ GUI that rebuilds the entire UI every frame, claiming faster iteration for tools and real-time sims at the cost of constant… | ||
| Readable C++ | Timur Doumler | 05m |
Starts with tens of thousands of lines of astrophysics Fortran style code, moves to a C++ rewrite using STL, char pointers, regex and templates, and submits a… | ||
| unsigned: A Guideline for Better Code | Jon Kalb | 06m |
Example compares signed -1 with unsigned 1 and prints "else: a is not less than b" because the signed value promotes and becomes large — surprising even… | ||
| Using STL containers efficiently | Dan Higgins | 06m |
Practical recipes for faster STL use: avoid needless copies by preferring pass-by-reference and implementing a copy-on-write with atomic refcount for large… | ||
| Algorithm Mnemonics: Increase your Productivity with STL Algorithms | Tommy Bennett | 07m |
Creates an STL instruction set of text-snippet mnemonics (XML on GitHub) that expand into real algorithm code, with editor implementations for SlickEdit, VIM… | ||
| Introducing Beast... | Vinnie Falco | 13m |
Header-only C++11 library that implements HTTP 1.1 and WebSocket on top of Boost.Asio, exposing Boost.Asio-like synchronous and asynchronous APIs and working… | ||
| On using singletons in C++ | Arno Lepisk | 05m |
Almost every C++ project uses singletons in one form or another, but the common static-instance pattern exposes internal structures and leaks implementation… | ||
| MessagePack(msgpack) - A Compact and Fast Serialization Library | Takatoshi Kondo | 05m |
MessagePack is a binary JSON-like format that claims smaller size and faster parsing; the C/C++ implementation is header-only C++ and provides pack(stream… | ||
| uftrace: A function graph tracer for C/C++ userspace programs | Honggyu Kim | 06m |
uftrace is an open‑source function graph tracer for C/C++ that instruments binaries with -pg/mcount and records precise, timestamp-based entry/exit times so… | ||
| A Static Alternative to Virtual Functions, Using Expression SFINAE | Ben Deane | 04m |
A header-only, fully static replacement for virtual dispatch that uses Expression SFINAE and the void_t detection idiom to test whether the implementation type… | ||
| C++ and Qt communities: join the forces | Giuseppe D'Angelo | 06m |
Argues that Qt and wider C++ communities stay isolated and that Qt often reinvents rather than reuses (NIH syndrome), citing an email to the Qt-interest list… | ||
| No Concepts Beyond This Point: The Detection Idiom | Isabella Muerte | 06m |
Detection idiom implements is_detected/ detected_t and companions from Library Fundamentals TS V2 using void_t so you can write trait-style constraints without… | ||
| Debuggability | Abel Mathew | 03m |
Compares GCC and Clang by opening cores in GDB and counting how many local variables a backtrace actually resolves, using DWARF debug sections as the metric… | ||
| Introducing Qt Creator: a fast IDE for C++ development | Giuseppe D'Angelo | 05m |
Qt Creator is a fast, lean open source IDE for C++ with built in refactoring, debugging, profiling and integrations for qmake cmake autotools, version control… | ||
| range for | Dietmar Kühl | 03m |
Range-based for often copies all the objects by using plain auto; prefer const auto& or a reference when mutation isn’t intended. Using auto&& creates a… | ||
| Concepts in 5 | David Sankel | 04m |
Five minute lightning intro to C++ Concepts that shows real syntax and practical limits rather than promises. Demonstrates the requires-requires syntax for… | ||
| Word's one data structure | Ravi Pinjala | 06m |
Flat arrays map character offsets to attached objects using C-style positions[] and data[] arrays; instead of touching every entry on insert the structure… | ||
| Why not Conan? | Diego Rodriguez-Losada | 03m |
Argues Conan is not a C++-only manager because it accepts C packages and is not written in C++, and criticizes bundled packages like OpenSSL that feel… | ||
| Presenting Code | Jens Weller | 08m |
Shows that demonstrating C++ works best by switching from static slides to tiny runnable examples that are edited and copied live so the audience sees failures… | ||
| Combine Lambdas and weak_ptrs to make concurrency easy | Dan Higgins | 04m |
Combining lambdas with shared_ptr and weak_ptr makes deferred thread dispatch simple by capturing a weak_ptr, checking weak_ptr.lock() before running, and… | ||
| Introduction to GENie - Project generator tool | Miodrag Milanovic | 06m |
GENie is a Lua-based project generator that automatically creates multi-platform build projects from genie.lua entry scripts, claiming fast, lightweight… | ||
| Using C++14 to mock C functions | Atila Neves | 04m |
Uses C++14 macros and templates to mock C functions at test time, specifically replacing libc-style send(fd,buf,len,flags) with a test lambda or programmable… | ||
| CodeCompass: An open source code navigator for C++ based on LLVM/Clang | Gabor Horvath | 06m |
Open‑source navigator built on LLVM/Clang that indexes C++ code and provides definition search, inheritance views and a cross‑file call diagram that marks… | ||
| Programming: A short talk on the future of programming | Jens Weller | |
Argues that programming becomes more like learning a foreign language than a narrow craft, with concrete paths: specialize in C++ (templates, frameworks) or… | ||
| An example of applying variadic templates to C code | Masako Toda | 05m |
Shows replacing repetitive SQLite bind calls for inserting rows into Student and Teacher tables (Teacher example has three columns) by using variadic templates… | ||
| ADT puzzler | Arthur O'Dwyer | 04m |
Code shows calling f<0(...) that the compiler parses as f < 0 (a comparison) because the identifier isn’t known as a template, so template argument syntax… | ||
| Where is Build Systems Innovation? | Boris Kolpackov | 05m |
Argument that build-system innovation comes from redesign, not incremental tweaks, backed by a concrete project: build2 is a C++ build toolchain rebuilt from… | ||
| Orbits | Sandeep Gupta | 06m |
Implements Floyd's cycle-finding on a 1–98 linked list, then manually links node 80 to node 22 and runs the detector; program prints “list 1 to 98”, then “loop… | ||
| Link compatibility | Arvid Norberg | 04m |
Library headers often hide build-time config flags that change struct layout and cause subtle memory corruption when client and library differ. The fix is to… | ||
| Improving Windows debuggers from the inside out | Ken Sykes | 05m |
Replaces brittle one-off debugger extensions with an XML-driven natvis visualizer plus a shared debugger data model and the dx command that expose typed fields… | ||
| Variants of variadic AND | Roland Bock | 05m |
Implement a template that takes any number of bools and yields true only if all are true. Options shown: recursion base case and recursive constexpr functions… | ||
| Grill The Committee Panel | Richard Smith, Casey Carter | 01h 26m |
Live Q&A with C++ standards committee leaders reporting what actually landed, what exists as TS and what has implementations now: modules, coroutines, Concepts… | ||
| "The Evolution of C++ Past, Present and Future" | Bjarne Stroustrup | 01h 44m |
C++ evolution focuses on concrete wins: concepts in GCC 6.1 lets templates express and check requirements with clearer errors and faster compilation; modules… | ||
| “extern c: Talking to C Programmers about C++” | Dan Saks | 01h 36m |
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
Most of us… | ||
| “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17” | Jason Turner | 01h 20m |
Uses C++17 and Compiler Explorer to compile idiomatic C++ into 386 assembly then translate that into 6510/6502 code with an x86-to-6502 reassembler, building a… | ||
| “Developing Blockchain Software” | David Schwartz | 01h 16m |
Explains how Bitcoin (UTXO, mining, longest-chain) and Ripple (2011 consensus ledgers, arbitrary assets) solve double‑spend and cross‑ledger payments, and why… | ||
| “Leak-Freedom in C++... By Default.” | Herb Sutter | 01h 39m |
Argues a concrete, prioritized rule set: prefer scoped lifetime (stack or member), otherwise use unique_ptr then shared_ptr and avoid explicit delete and… | ||
| "C++ Standard Library Panel" | Casey Carter, Anthony Williams, Walter Brown | 01h 09m |
Overview of concrete C++17 library changes and how they behave: generic invoke is implemented; associative containers gain node extraction without allocation… | ||
| “Improving Performance Through Compiler Switches..." | Tim Haines | 01h 06m |
Benchmarks compare GCC 6.2, Clang 3.9 and Intel 17 on streaming, reductions and a template-heavy SIMD test (and HPCG). Results show compiler flags and… | ||
| C++17 in Breadth (part 1 of 2) | Alisdair Meredith | 59m |
C++17 consolidates roughly 120 accepted proposals with about 200 new library pages and concrete changes: rebinding to C11/Unicode/POSIX/ECMAScript, removals… | ||
| “Deploying C++ modules to 100s of millions of lines of code" | Manuel Klimek | 01h 00m |
Google migrates hundreds of millions of lines of C++ to Clang modules and header PCM files, using module maps and a changed protoc generator to modularize… | ||
| “Template Normal Programming (part 1 of 2)” | Arthur O'Dwyer | 58m |
Covers practical rules and gotchas for everyday C++ templates: how to use and test templates with __PRETTY_FUNCTION__, when to prefer variable templates or… | ||
| “Cache Optimized Hash Tables” | Christiaan Pretorius | 51m |
Describes a cache‑focused hash implementation (Rabbit) that combines linear probing with a small overflow end‑of‑run bucket, stores separate keys and values… | ||
| “The MAME story: From C to Modern C++" | Miodrag Milanovic | 01h 03m |
A 20‑year C codebase shifts toward modern C++ to improve readability, portability and performance while preserving 35,000+ games and about 150 MB source, with… | ||
| “Colonies, performance and why you should care" | Matthew Bentley | 51m |
An unordered container called plf::colony provides pointer-stable elements that are unaffected by inserts or erases, reuses freed slots via a stack and frees… | ||
| C++17 in Breadth (part 2 of 2) | Alisdair Meredith | 01h 00m |
C++17 lists concrete changes: structured bindings for unpacking pairs/arrays/tuples, function-call argument evaluations become indeterminately sequenced… | ||
| “Template Normal Programming (part 2 of 2)" | Arthur O'Dwyer | 01h 01m |
Explains how to get real-world template code to behave: implement partially specialized function behavior by delegating to a class-template is_pointer_impl… | ||
| “Implementing `static` control flow in C++14" | Vittorio Romeo | 01h 03m |
Shows a working C++14 implementation of compile-time branching and looping that mimics C++17 if constexpr and adds a richer static_for with index, accumulator… | ||
| “No Sane Compiler Would Optimize Atomics" | JF Bastien | 58m |
Claim: compilers already optimize atomics and do architecture-specific lowering. Examples: x86 maps atomic loads to MOV and stores to LOCK-prefixed ops while… | ||
| “High Performance C++ Concurrent Transactional Data Structures" | D. Dechev, D. Zhang | 55m |
Detailed implementations and measured claims: a lock manager MRLock uses a lock-free FIFO queue of bitset requests as a drop-in replacement for… | ||
| “The C++17 Parallel Algorithms Library and Beyond" | Bryce Adelstein Lelbach | 57m |
C++17’s parallel algorithms library (committee draft) adds execution policies and concrete overloads so you can write std::par_unseq or std::par versions of… | ||
| “AAAARGH!? Adopting Almost Always Auto Reinforces Good Habits!?" | Andy Bond | 48m |
Case study applies the almost-always-auto idiom to a simple game loop, converting member and local variables, functions and lambdas, and building helpers like… | ||
| “What C++ Programmers Need to Know about Header <random>" | Walter E. Brown | 01h 08m |
Explains why the <random> header separates engine vs distribution (use an engine as a bits source and let a distribution produce the shaped variates), shows… | ||
| Better mutual exclusion on the filesystem using Boost.AFIO | Niall Douglas | 01h 04m |
A shared-memory-map mutual exclusion implementation for Boost.AFIO that detects networked-drive users and falls back to byte-range/lock-file locking is built… | ||
| “#include <os>: from bootloader to REST API with the new C++" | Alfred Bratterud | 59m |
IncludeOS compiles a modern C++11/14 service into a minimal bootable VM image (about 1 MB image) that runs on Linux, Windows or Mac and boots in roughly 300 ms… | ||
| “Towards Heterogeneous Programming in C++" | Gordon Brown, Michael Wong | 56m |
SG14 mandates adding heterogeneous support to C++ and the practical proposal centers on SYCL: a single-source C++ model that compiles device lambdas into SPIR… | ||
| “Constant Fun" | Dietmar Kühl | 01h 04m |
Shows how to build a compile-time associative container (string-to-enum/factory) using C++11 templates and C++14 constexpr features like string_view and… | ||
| “The Power of Reflection with Facebook's Thrift" | Marcelo Juchem | 54m |
Facebook adds static reflection in Thrift and shows concrete tooling: generated metadata headers (structs, enums, unions), a JSON pretty printer and a binary… | ||
| “Lessons Learned From An Embedded RTPS in Modern C++" | Jackie Kay | 01h 03m |
Implements a modern C++ RTPS/DDS subset on ARM Cortex‑M (targeting STM32 with 384 KB RAM and 2048 KB flash), using boost::hana and a header‑only serial… | ||
| “Lightweight Object Persistence With Relocatable Heaps in Modern C++" | Bob Steagall | 01h 02m |
Shows a concrete implementation that uses C++11/14 allocator and pointer_traits to build a relocatable heap backed by segmented storage and a backbone array… | ||
| “Latest and Greatest from the Visual Studio Family for C++ Developers" | Carroll, Moth | 01h 00m |
Shows concrete compiler and tooling gains: compiler moves toward full C++14/17 conformance and two‑phase lookup, codegen uses an SSA optimizer, and 2–4x linker… | ||
| “Parallelism in Modern C++" | Hartmut Kaiser | 01h 02m |
HPX implements a C++ runtime that reworks parallel algorithms around futures and dataflow, exposing execution policies and pluggable executors plus… | ||
| “Beyond the Issaquah Challenge: High-Performance Scalable Complex Updates" | McKenney | 01h 02m |
Extends the Issaquah Challenge into a general method that atomically moves groups of elements among linked structures by combining RCU read-side traversal with… | ||
| “Variants: Past, Present, and Future" | David Sankel | 55m |
History and practical details: Boost.Variant (2004) implements sum types with hidden heap allocation on assignment and a make_recursive_variant helper… | ||
| “My Little Optimizer: Undefined Behavior is Magic" | Michael Spencer | 46m |
Modern C++ compilers treat undefined behavior as permission to change code: LLVM turns a load-from-null into unreachable and removes the preceding store… | ||
| “High Performance Code 201: Hybrid Data Structures" | Chandler Carruth | 56m |
LLVM replaces heavy std containers with three concrete systems: a small-size-optimized vector that stores early elements inline to avoid heap allocations, an… | ||
| “Two practical applications of the Brigand TMP library" | Edouard Alligand, Joel Falcou | 52m |
Brigand provides a modern TMP toolkit that replaces Boost.MPL for tasks like compile-time serialization (allocating exact bytes and generating Boost.Test code)… | ||
| "std::accumulate: Exploring an Algorithmic Empire" | Ben Deane | 54m |
Claim: std::accumulate is the most powerful STL algorithm because any associative binary op plus an identity (a monoid) becomes parallelizable and composable… | ||
| “A lock-free concurrency toolkit for deferred reclamation and optimistic speculation" | Paul E. McKenney, Maged Michael, Michael Wong | 55m |
Proposes a C++ Concurrency Toolkit that standardizes two lock-free reclamation methods: hazard pointers (fixed per-thread pointer metadata, used to prevent ABA… | ||
| “SPMD Programming Using C++ and ISPC" | Nicolas Guillemot | 58m |
Shows how SPMD maps to real SIMD: uses ISPC and a small header-only prototype called cbps spmd that implements varying/uniform types, masks and lambda-based… | ||
| “GDB - A Lot More Than You Knew" | Greg Law | 59m |
Shows concrete GDB workflows: the text UI (TUI) for visible source and disassembly, Python bindings like gdb.execute and gdb.parse_and_eval to script… | ||
| “Introduction to C++ Coroutines" | James McNellis | 58m |
Proposal adds stackless coroutines to C++ that suspend and resume with no required overhead, claiming scalability to billions and suspend/resume cost… | ||
| “The Exception Situation" | Patrice Roy | 59m |
C++ exceptions remain part of the language and are compared here against return codes, optionals and Go‑style pairs with concrete microbenchmarks across clang… | ||
| Turning Particle-Astro-Physicist-Hackers into Software Engineers | Alex Olivas | 01h 06m |
Describes a year of concrete programs: week-long boot camps, monthly code sprints and a strike team that train grad students and postdocs to convert a 1M‑line… | ||
| “A modern database interface for C++" | Erik Smith | 01h 05m |
A standards‑grade C++ database interface and a header‑only reference implementation live on GitHub, with working drivers for MySQL and SQLite and a growing… | ||
| “Practical Performance Practices" | Jason Turner | 01h 00m |
ChaiScript becomes roughly 100x faster over six years by simplifying idiomatic C++ rather than adding a VM or JIT, with concrete wins: caching parsed integers… | ||
| BDE Libraries, An Orientation | Steven Breitstein | 01h 03m |
BDE (github.com/bloomberg/bde) presents a concrete library ecosystem: 900 documented components organized into 47 packages and 5 package groups, each with a… | ||
| “Variadic expansion in examples" | Michał Dominiak | 43m |
Covers practical parameter-pack expansion use cases and pitfalls and shows real code: uses std::integer_sequence to unpack tuples into calls, uses empty packs… | ||
| “Mobile App Development for Multiple Platforms with Visual C++, 2016" | Marc Gregoire | 01h 04m |
Visual C++ demonstrates building one shared C++ backend deployed to Windows, Android and iOS with thin platform UIs, showing a working Gradle build Android… | ||
| “Want fast C++? Know your hardware!" | Timur Doumler | 01h 00m |
C++ performance depends on hardware patterns not just algorithms: traversing a 2D array in the wrong order gives about 30–40x slowdown on tested MacBooks… | ||
| “The Continuing Future of C++ Concurrency" | Anthony Williams | 01h 05m |
C++14 adds a shared_timed_mutex with shared_lock for many-read few-write maps and timed try locks (milliseconds) for responsiveness, while C++17 adds non‑timed… | ||
| “Using build2, C++ Build Toolchain" | Boris Kolpackov | 01h 14m |
build2 is a C++14 toolchain (build driver b, package manager bpg, repository cppget.org) that actually builds, upgrades and downgrades source packages and… | ||
| “C++ Modules: The State of The Union" | Gabriel Dos Reis | 01h 10m |
Claims that C++ modules are moving from proposal to a TS with real compiler support: MSVC and Clang already implement parts, Visual Studio 15 will ship module… | ||
| “How bad is Meta-Programming still today?" | Peter Gottschling | 01h 01m |
A fast survey of C++ compile-time programming that shows what actually works: classical template metaprograms (prime test, Fibonacci) compile with old… | ||
| “There and Back Again: An Incremental C++ Modules Design" | Richard Smith | 59m |
Clang implements an incremental modules workflow that compiles modular headers into PCM/AST blobs, uses module maps to map headers to modules, and yields… | ||
| What is the basic interface? (part 2 of 2) | Lisa Lippincott | 59m |
Defines an interface model that makes aliasing and address dependence explicit: parameters claim irresponsibly aliased or not, callers can assert aliased X&Y… | ||
| What is the basic interface? (part 1 of 2) | Lisa Lippincott | 58m |
Defines the "basic interface" as the implicit expectations around a function: prologue/epilogue split via an implementation statement, no undefined behavior at… | ||
| “Instruction Re-ordering Everywhere: The C++ 'As-If' Rule and the Role of Sequence" | Charles Bay | 57m |
Claims that C++ gives the compiler and CPU carte blanche to reorder instructions as long as logical dependencies hold and observable results match; cites As-if… | ||
| "WG21-SG14 – Making C++ better for games, embedded and financial developers" | Guy Davidson, Michael Wong | 58m |
SG14 targets low-latency C++ for games, embedded and finance and reports concrete work: a library proposal for fixed-point types (e.g. 32-bit signed with 2… | ||
| “Using Types Effectively" | Ben Deane | 55m |
Argues that C++ features like std::optional (optional<char> has 257 values) and std::variant (char|bool has 258 values) let types express exact state so… | ||
| “Embracing Standard C++ for the Windows Runtime" | Kenny Kerr, James McNellis | 58m |
Claims a standard C++ projection (C++/WinRT) that converts WinRT metadata into header-only C++ headers with a standalone generator and no compiler language… | ||
| Putting Coroutines to Work with the Windows Runtime | Kenny Kerr, James McNellis | 55m |
Shows how C++ coroutines are adapted to Windows Runtime by making the four WinRT async interfaces awaitable, using await adapters and await_transform to expose… | ||
| Regular Expressions in C++, Present and Future | Tim Shen | 51m |
Explains how C++ regex compilers build NFAs and how four concrete algorithms behave: naive DFS with backtracking, DFS plus memoization (polynomial time… | ||
| Computer Architecture, C++, and High Performance | Matt P. Dziubinski | 55m |
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
With the… | ||
| A <chrono> Tutorial | Howard Hinnant | 01h 01m |
Chrono is a type-safe C++ time library that wraps integers (seconds are a long long) and performs conversions at compile time with zero runtime overhead; it… | ||
| What happened to...: Deprecated and Removed Features of C++ | Billy Baker | 22m |
Listing of concrete removals and deprecations for upcoming C++ standards: auto_ptr → unique_ptr (migration automated by clang-modernize / clang-tidy), removal… | ||
| What We've Learned From the C++ Community | Robert Irving, Jason Turner | 23m |
CppCast documents 70 interviews across 1.5 years and surfaces concrete takeaways: reverse debugging (rr, Undo) lets developers step backward to find a crash… | ||
| Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler | Justin Lebar | 01h 00m |
Clang now compiles CUDA C++ into a CUDA‑compatible toolchain emitting PTX that the driver turns into SASS, and the talk demonstrates concrete GPU code: a… | ||
| Conan, a C and C++ package manager for developers | Diego Rodriguez-Losada | 28m |
Demonstrates Conan, an MIT‑licensed C/C++ package manager by showing a conanfile.py that declares dependencies (boost, Poco), uses the CMake generator and… | ||
| The strange details of std::string at Facebook | Nicholas Ormrod | 31m |
Shows concrete internals: GCC 4 uses a 25-byte global empty string plus copy-on-write with refcount-minus-one, while Facebook's fbstring uses a 24-byte struct… | ||
| Introduction to C++ python extensions and embedding Python in C++ Apps | Diego Rodriguez-Losada | 36m |
Shows working C++ extension code, build scripts and a GitHub repo that currently builds on Windows + Visual Studio with Python 2.7, demonstrating raw Python C… | ||
| Examining applications that do not terminate on std::bad_alloc | Sergey Zubkov | 28m |
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
System memory… | ||
| Welcome To The Time Zone | Howard Hinnant | 01h 05m |
A C++ library built on <chrono> (header tzh with companion date library on GitHub) parses the full IANA tzdb and exposes every rule, lets code iterate all ~300… | ||
| Make Friends with the Clang Static Analysis Tools | Gabor Horvath | 01h 01m |
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016
—
This talk is… | ||
| Game engine using STD C++ 11 | Jason Jurecka | 01h 01m |
A small game engine prototype uses std C++11 primitives to push parallelism: a std::thread pool sized by hardware_concurrency runs a lock-minimizing task… | ||
| How to test static_assert? | Roland Bock | 58m |
Shows a concrete pattern that makes compile-time checks testable by ripping the condition out of static_assert into a type that either fires unconditionally or… | ||
| tuple<>: What's New and How it Works | Stephan T. Lavavej | 01h 01m |
Covers concrete C++ tuple changes and how they’re implemented: get-by-type (C++14) and conditionally-explicit constructors (C++17) change overload and… | ||
| The speed of concurrency (is lock-free faster?) | Fedor Pikus | 01h 12m |
Benchmarks use Google benchmark and microtests of atomic increment, mutex, compare-and-swap loops and queue/list implementations on machines up to 120 hardware… | ||
| Asynchronous IO with Boost.Asio | Michael Caisse | 01h 01m |
Boost.Asio provides a portable proactor model for scalable asynchronous I/O so you avoid one-thread-per-connection; examples use io_service, async_*… | ||
| The Blaze High Performance Math Library | Klaus Iglberger | 01h 00m |
Blaze claims measurable speedups versus common C++ libraries: microbenchmarks on a 10-core Haswell show 20–25% faster vector and cache-bound kernels, explicit… | ||
| Building Software Capital: How to write the highest quality code and why | David Sankel | 01h 00m |
Argues that long-term velocity comes from building “software capital” (reusable, documented, tested components) not piling technical debt that grows… | ||
| I Just Wanted a Random Integer! | Cheinan Marks | 54m |
Using rand()+modulo fails unit tests: low bits bias misses edge cases, and random_device is hardware dependent, can block or throw. Seeding mt19937 with… | ||
| Building and Extending the Iterator Hierarchy in a Modern, Multicore World | PATRICK NIEDZIELSKI | 01h 00m |
Stepwise derives STL iterator concepts using concrete algorithms, shows code written in C++14/Concepts Lite style and points out that contiguous iterator (in… | ||
| Optimally Shooting Furry Balls out of Vulkanoes | Alexandru Voicu | 01h 01m |
A concise cookbook for doing real work with Vulkan: builds a tiny C++ layer of RAII handle wrappers, accelerator_view abstraction, command-pool/queue… | ||
| Garbage In, Garbage Out: Arguing about Undefined Behavior... | Chandler Carruth | 58m |
Argues that undefined behavior is a symptom not the root problem and proposes treating language features as either narrow vs wide contracts with concrete… | ||
| Making C++ and the STL Work in the Linux / Windows Kernels | Rian Quinn | 01h 04m |
Bootstraps a C++11/14 runtime inside Linux and Windows kernels by using a cross‑compiler, a custom ELF loader, manual relocations, and handcrafted support for… | ||
| Algorithm Design For Values Distributed In Time | Kirk Shoop | 56m |
Library shows concrete algorithms for values distributed in time implemented in RxCpp style: copy_if, last_or_default, take (early cancel), delay with FIFO… | ||
| C++ Coroutines: Under the covers | Gor Nishanov | 57m |
Shows how Clang lowers C++ coroutines to LLVM coroutine intrinsics and then, inside LLVM, splits a function into resume/destroy/initial pieces (a split into… | ||
| STL Algorithms - why you should use them, and how to write your own | Marshall Clow | 01h 00m |
Explains why std algorithms are reliable, tested and efficient and shows how to build reusable ones: implements adjacent_pair and an O(n^2) all_pairs, a… | ||
| C++, Abstract Algebra and Practical Applications | Robert Ramey | 58m |
Claim: represent abstract algebraic structures in C++ types so illegal operations fail at compile time and correct invariants need no repeated runtime checks… | ||
| Using weakly ordered C++ atomics correctly | HANS BOEHM | 01h 03m |
Most code uses mutexes; atomics are for interrupt handlers or high-performance hotspots, and sequentially consistent atomics give a simpler model at the cost… | ||
| Introduction to Vector Parallelism | Pablo Halpern | 01h 01m |
Vector parallelism on CPUs (SSE, AVX, AVX‑512, NEON, Altivec) claims typical 4–16× speedup by processing lanes in lockstep using wide registers, masks and… | ||
| Implementing a Modern C++ MQTT Client for Embedded Devices | Michael Caisse | 58m |
A C++14 MQTT client for tiny embedded targets is implemented using Boost.MSM state machines, Spirit parsers and a poor-man type eraser to keep the state… | ||
| A C++ MQTT Message Broker for the Enterprise | John Dubchak | 52m |
A C++ MQTT broker is implemented as a single Linux daemon written in C++14 with template metaprogramming, using a custom thread pool of std::packaged_task… | ||
| Developing C++ @ Facebook Scale | Mark Isaacson | 01h 03m |
At Facebook scale the claim is that automation + targeted tooling lets an engineer reason locally without rebuilding everything. Built pieces include injecting… | ||
| Rainbow Six Siege: Quest for Performance | Nicolas Fleury | 50m |
Rainbow Six Siege ships and runs at 60 FPS for 5v5 matches with over 1M daily players; the team builds a unified telemetry channel that records per-frame… | ||
| Safe Numerics Library | Robert Ramey | 21m |
Library implements safe integer types that wrap built-ins and guarantee incorrect integer results cannot silently propagate, converting overflows and invalid… | ||
| fixed_point | John McFarlane | 42m |
Library provides literal class templates for safe integers and binary fixed‑point that guarantee correct scaling and avoid silent precision loss; arithmetic… | ||
| Designing C++ portable SIMD support | Joel Falcou | 01h 03m |
Library approach that exposes CPU SIMD across x86 Power and ARM via a value-type pack abstraction, explicit loads/stores, shuffle/topology recognition and… | ||
| Advanced Levelization Techniques (part 1 of 3) | John Lakos | 01h 00m |
Covers concrete physical‑design rules: every component is an h/cpp pair with the header included first, all externally visible entities declared in the header… | ||
| Advanced Levelization Techniques (part 2 of 3) | John Lakos | 01h 02m |
Shows concrete fixes for header cycles and coupling with code patterns and examples and reference implementations on GitHub. Covers demotion (pulling shared… | ||
| Advanced Levelization Techniques (part 3 of 3) | John Lakos | 01h 00m |
Defines a compact package-naming rule: every component group uses a package group 3-letter prefix so names stay short and unique, and some graphs force at… | ||
| Writing applications in modern C++ and Qt | Jens Weller | 56m |
A small static-site CMS of about 10k LOC uses modern C++ with Boost for logic and a Qt frontend, keeping UI and core layers separate; it relies on… | ||
| Achieving performance in financial data processing through compile time introspection | Eduardo Madrid | 01h 00m |
Claims a practical system that converts the CME MDP3 specification into C++ types plus a tiny variadic-template library so the compiler sees structure at… | ||
| Experiences with Facebook's C++ library | David Watson | 47m |
Facebook's open source C++ library folly focuses on practical fixes: a new conversion utility borrows fast float code from V8; dynamic handles JSON… | ||
| The Guideline Support Library: One Year Later | Neil MacIntosh | 01h 00m |
The Guideline Support Library is a small, header-only set of portable types (about 3k LOC, 353 commits, 232 stars, 41 contributors) that ships on GitHub and as… | ||
| C++ on the Web: Let's have some serious fun. | Dan Gohman | 57m |
Shows how to compile and run real C++ in browsers using Emscripten and the new WebAssembly MVP, with examples using SDL/OpenGL (Angry Bots) and libraries like… | ||
| Elegant Asynchronous Code | Nat Goodspeed | 55m |
Claim: Boost.Fiber lets async I/O be written like blocking, layered C++ code while avoiding many OS threads. Uses Boost.Fiber plus adapters to boost::asio… | ||
| C++ Costless Abstractions: the compiler view | Serge Guelton | 50m |
Shows concrete compiler behavior using Clang++/LLVM bitcode and small C++ snippets: constexpr Fibonacci costs about 1s compile vs 3ms run because the compiler… | ||
| C++14 Reflections Without Macros, Markup nor External Tooling.. | Antony Polukhin | 55m |
A compile-time reflection technique for C++14 uses aggregate initialization probing plus variadic templates, constexpr, SFINAE, decltype and an implicit… | ||
| From Numerical Cosmology to Efficient Bit Abstractions for the Standard Library | Vincent Reverdy | 01h 08m |
Claims a reusable C++ bit abstraction library (sources on GitHub) that replaces vector<bool> with a bit_iterator/bit_reference/bit_pointer adapter over… | ||
| Iterator Haiku | Casey Carter | 58m |
Ranges TS shows that adding Concept-driven iterator categories expands five standard categories into seven iterator categories then a Sentinel-focused redesign… | ||
| Channels - An alternative to callbacks and futures | John Bandela | 47m |
Channels implemented as a C++ library using the Coroutines TS plus Boost.Fiber and Boost.Futures replace one-off futures with a streaming primitive that… | ||
| nothing matches | ||