CppCon 2015
2015-09-21..2015-09-25
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++ developers, library authors, tooling engineers, compiler engineers, build engineers, performance engineers
topics
GDB reversible debugging; Emacs CMake compilation database; C++ Requests HTTP client; CLion CMake refactorings; opaque typedefs for type safety; Heaptrack heap memory profiler; algorithmic differentiation with Eigen; clang devirtualization passes; constexpr compile-time counter; currying via tuple binding; Projucer live JIT editing; boost serialization patterns
| title | author | length |
|---|---|---|
| Give me 15 minutes & I'll change your view of GDB | Greg Law | 15m |
Demos of GDB show three concrete workflows: use TUI mode (Ctrl‑X, Ctrl‑L, Ctrl‑P) to get source, asm and registers in curses windows; use the Python API to… | ||
| Emacs as a C++ IDE | Atila Neves | 16m |
Emacs runs as a practical C++ IDE by auto-detecting CMake projects, running CMake to generate a JSON compilation database, and feeding flags to flycheck… | ||
| C++ Requests - Curl for People | Huu Nguyen | 10m |
A lightweight C++ HTTP client called C++ Requests implements a Python requests–style API as a practical Git-like get function and demonstrates a working simple… | ||
| C++ WAT | Piotr Padlewski | 15m |
A rapid survey of concrete C++ gotchas showing code that compiles but does unexpected things: operator[] as pointer arithmetic makes a map look like an int… | ||
| CLion Tips & Tricks | Dmitri Nesteruk | 16m |
Live demo of CLion shows concrete, working features: CMake-aware file creation that adds headers and .cpp to targets, refactorings that rename files and update… | ||
| The dangers of C-style casts | Joshua Gerrard | 05m |
Demonstrates that using C-style casts lets the compiler silently perform dangerous conversions that lead to undefined Behavior: an apparently innocent cast… | ||
| Extreme Type Safety with Opaque Typedefs | Kyle Markley | 12m |
Library implements opaque typedef library semantics by wrapping existing types via inheritance to create distinct address/offset types, letting code overload… | ||
| Heaptrack: A Heap Memory Profiler for Linux | Milian Wolff | 11m |
Heaptrack is an open-source Linux heap profiler that records a stack trace for every allocation and reports number of allocations, peak bytes at each code… | ||
| Algorithmic Differentiation: C++ & Extremum Estimation | Matt P. Dziubinski | 16m |
Describes using C++ algorithmic differentiation to compute exact gradients via the chain rule and plug them into a numerical optimizer to recover model… | ||
| C++ devirtualization in clang | Piotr Padlewski | 15m |
Clang implements devirtualization by adding LLVM-level checks and metadata: it inserts llvm.assume checks after constructors, uses available_externally vtable… | ||
| Curry for your Functions | André Bergner | 14m |
Library shows a concrete C++14 implementation of currying: curlike curry(fn) returns a binder that stores a tuple of bound arguments and lets callers partially… | ||
| The Projucer | Julian Storer | 15m |
A new tool ships a preview on the conference USB stick and offers live C++ editing by extracting one UI component, compiling it with embeds Clang/LLVM and… | ||
| Clang on Windows: a status update | Reid Kleckner | 07m |
Clang on Windows is largely MSVC ABI and layout compatible but exception handling remains unfinished with a working redesign and a target of roughly December… | ||
| Compile-Time Counter Using Template & Constexpr Magic | B. Geller, A. Sermersheim | 12m |
A zero-overhead compile-time counter implemented with templates, constexpr and overload resolution that auto-increments via chained static methods triggered… | ||
| The stand up | Phil Nash | 13m |
Sitting six or more hours a day links to 40% higher mortality over 15 years even if regular exercise, and standing briefly boosts brain oxygen by about 20%, so… | ||
| Traits Go Mainstream... | Leor Zolman | 12m |
Shows that type traits become necessary once C++11 universal references start stealing overloads and breaking intent by matching almost everything… | ||
| Kiss Templates | Roland Bock | 08m |
Lightning 5‑minute claim: a small template DSL compiles to a C++ header that emits text like HTML LaTeX email or C++ code. Templates use percent for C++ blocks… | ||
| A different way to use boost serialization | Jens Weller | 06m |
Tree nodes hold boost::variant types and serialization is moved out of headers by returning a tie-like tuple of member references and serializing it with… | ||
| Superscopes: Local, global... is there any more? | Fabian Renn Giles | 05m |
Implemented a template class called installation_local that embeds a single shared variable into the installer so multiple installed apps can increment and… | ||
| How I integrated TinyMCE into my Qt Application | Jens Weller | 14m |
A working WYSIWYG HTML editor sits inside a QWebView using TinyMCE bridged to C++ via the QWebKit JavaScript bridge, with native Qt dialogs replacing TinyMCE… | ||
| Introducing brigand | Edouard Alligand, Joel Falcou | 09m |
A header-only C++11 metaprogramming library that reimplements Boost.MPL ideas with no macros and variadic templates, claiming instant compile time (library… | ||
| Writing Good C++14 | Bjarne Stroustrup | 01h 41m |
Practical rules for using C++14 aim to eliminate leaks, dangling pointers, and many type errors by pairing 350+ concrete checks with small library types and… | ||
| Writing Good C++14... By Default | Herb Sutter | 01h 29m |
http://www.cppcon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at… | ||
| Better Code: Data Structures | Sean Parent | 01h 04m |
Goal is no incidental data structures: prefer std containers and composite types over ad hoc, self-referential graphs. Demonstrates concrete tools: using… | ||
| Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My! | Chandler Carruth | 01h 30m |
Live microbenchmarks use google/benchmark and show 22M iterations reporting ~32ns but still noisy; reserving a vector unexpectedly makes push_back about ten… | ||
| Ranges for the Standard Library | Eric Niebler | 01h 34m |
Demonstrates a concrete library (range-v3) and a working console calendar built by composing lazy views and eager actions, including a custom… | ||
| Implementation of a component-based entity system in modern C++ | Vittorio Romeo | 01h 05m |
Implements a small but complete entity component system in modern C++ using C++14, SFML for visuals and a GitHub repo with code; components are plain data… | ||
| Expression Templates - Past, Present, Future | Joel Falcou | 01h 06m |
Expression templates implement expressions as types so evaluation defers until a compression point (assignment or conversion), avoiding elementwise temporaries… | ||
| Memory and C++ debugging at Electronic Arts | Scott Wardle | 58m |
Electronic Arts uses a mix of custom and platform features: a stomp allocator that uses virtual memory to crash on buffer overruns, an EA::STL replacement that… | ||
| Faster Complex Numbers | André Bergner | 33m |
Benchmarks compare std::complex, a naive eager class, expression-template wrappers and hand‑crafted C-style code across GCC, Clang and MSVC; std::complex… | ||
| C++ Metaprogramming: A Paradigm Shift | Louis Dionne | 01h 08m |
Argues that C++14 lets metaprogramming use normal C++ syntax and builds a single library that replaces MPL and Fusion, showing a working Boost library Hana… | ||
| C++ Multi-dimensional Arrays... | Pramod Gupta | 39m |
C++ lacks a way to pass multi‑dimensional arrays without compile‑time sizes so a tiny header‑only library (Orca AR) implements a multi‑dimensional array type… | ||
| What's New in Visual C++ 2015 and Future Directions | Steve Carroll, Ayman Shoukry | 01h 04m |
Visual Studio 2015 shows concrete wins: incremental linker and SL fastlink plus incremental LTCG cut iterative rebuilds (one team drops 958s to ~7% of… | ||
| Lambdas from First Principles: A Whirlwind Tour of C++"" | Arthur O'Dwyer | 59m |
Claim: lambdas are just syntactic sugar over ordinary C++ constructs and compile into anonymous functor classes with the same codegen as hand‑written classes… | ||
| Beyond Sanitizers... | Kostya Serebryany | 59m |
Portfolio of runtime tools (AddressSanitizer, ThreadSanitizer, MemorySanitizer, UBSan) pairs with coverage‑guided fuzzing to find real bugs; libFuzzer runs… | ||
| Variadic Templates in C++11 / C++14 - An Introduction | Peter Sommerlad | 01h 04m |
Covers concrete how‑tos: implements a variadic print_line using pack expansion and recursion with an explicit zero‑argument base case (required even if never… | ||
| Advanced Unit Testing in C & C++ | Matt Hargett | 01h 01m |
Covers concrete techniques for isolating and testing C and C++ code: running kernel-mode code in userland by undefining conflicting headers and using specific… | ||
| C++ in the Audio Industry | Timur Doumler | 01h 04m |
C++ powers production tools at ROLI and libraries like JUCE and underpins samplers such as KONTAKT; audio code runs with 44,100 Hz sampling and audio buffers… | ||
| Expression Templates: Past, Present, Future | Joel Falcou | 59m |
Argues that expression templates are not just temporary-elimination tricks but a way to build embedded DSLs by producing lazy expression trees that get… | ||
| Live Lock-Free or Deadlock (Practical Lock-free Programming) | Fedor Pikus | 39m |
Covers practical lock-free techniques in C++: shows why volatile and naive reorder assumptions fail, demonstrates that compilers can reorder initialization… | ||
| constexpr: Introduction | Scott Schurr | 01h 04m |
Covers how constexpr moves computations into compilation: use constexpr functions and values, static_asserts, recursion to build a compile-time binary literal… | ||
| Haskell Design Patterns for Genericity & Asynchronous Behavior | Sherri Shulman | 59m |
Compares concrete Haskell patterns to C++ implementations: shows a hash-set built from type classes and instantiated with C++ Concepts and demonstrates the… | ||
| Expression Templates: Past, Present, Future | Joel Falcou | 50m |
Covers practical limits and fixes for expression templates: shows that automatic type deduction causes wrong types and duplicated work for expressions, that… | ||
| C++ for cross-platform VR | Nicolas Lazareff | 38m |
Overview of a C++ cross‑platform VR strategy that ships to Oculus Mobile/Desktop, Google Cardboard, OpenVR and PlayStation VR by sharing one core codebase… | ||
| Live Lock-Free or Deadlock (Practical Lock-free Programming) | Fedor Pikus | 01h 30m |
Shows how to build a practical lock‑free producer/consumer system using compare‑and‑swap and atomic exchange, then measures when it actually wins versus a… | ||
| Doxygen to DoxyPress... | Barbara Geller, Ansel Sermersheim | 01h 04m |
DoxyPress is a fork of Doxygen rebuilt by porting a C++98 codebase to C++11, swapping Qt 1.9 pointer containers for CopperSpice value types and shared_ptrs… | ||
| Executors for C++ - A Long Story ... | Detlef Vollmann | 01h 01m |
Argument that executors become C++’s base building block for async work and yet the interface is still unsettled. Shows why std::async can block on future… | ||
| Modern User Interfaces for C++ | Milian Wolff | 59m |
Qt is a modern C++ UI stack that delivers both traditional widgets for data-heavy desktop apps and GPU-accelerated QML/Qt Quick for fluid, touch-first… | ||
| Using Spirit X3 to Write Parsers | Michael Caisse | 01h 01m |
Describes building a working Boost.Spirit X3 parser library that targets parsing only, uses C++14 internals (ADL tricks, faster compile and run times) and… | ||
| “Grill the Committee” | Chandler Carruth, Marshall Clow, Lawrence Crowl, Gabriel Dos Reis, Richard Smith, Bjarne Stroustrup, Herb Sutter, Ville Voutilanien, Michael Wong | 01h 31m |
A live committee Q&A explains how C++ standards actually advance: progress comes from volunteers who write and revise proposals, not a central design team… | ||
| functional: What's New, And Proper Usage | Stephan T. Lavavej | 01h 01m |
functional evolves across C++11/14/17: use invoke for generic calling (it correctly handles PMFs/PMDs and smart pointers), avoid mem_fn and bind in hot… | ||
| Time Programming Fundamentals | Greg Miller | 59m |
Library CCTZ provides concrete APIs: break_time to convert an absolute time_point to a civil breakdown, make_time (and make_time_info) to map civil Y/M/D H:M:S… | ||
| Simple, Extensible Pattern Matching in C++14 | John R. Bandela | 51m |
Implements a header-only pattern matching library for C++14 that compiles on GCC 5, Clang 3.6 and Visual C++ 2015 and uses integer_sequence, generic lambdas… | ||
| Functional Design Explained | David Sankel | 49m |
Argues for finding a problem’s mathematical essence via denotational semantics and encoding it as pure functions, then deriving an efficient C++… | ||
| completion T : Improving the future T with monads | Travis Gockel | 32m |
SolidFire replaces std::future with a monadic, async-only alternative called completion that removes get/wait from the hot path, uses an expected<T> for… | ||
| Organizational Leadership with Modern C++ | Kevin Kostrzewa, Johm Wyman | 29m |
Technical leadership drives modernization across ~75 developers working on an 11 million line Windows C++ codebase by using concrete practices: organized trip… | ||
| Large Scale C++ with Modules: What You Should Know | Gabriel Dos Reis | 01h 01m |
Shows that replacing headers with modules cuts a tiny client translation unit to 176 bytes vs 500KB+ by importing compiled interfaces, not copying headers… | ||
| Integrating generators EDSL's for Spirit X3 (WIP) | Feliple Magno de Almeida | 43m |
http://www.Cppcon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2015
—
Based on… | ||
| Parallelizing the C++ Standard Template Library | Grant Mercer, Danial Bourgeois | 56m |
Implementation of C++ parallel STL proposals N4409 and N4406 is shown inside the HPX runtime, adding parallel execution policies (seq, par, par_vec, task)… | ||
| C++: How I learned to stop worrying and love metaprogramming | Edouard Alligand | 51m |
Describes a production database (quasardb) built since 2008 using real template metaprogramming to reduce bugs and maintenance while improving speed, claiming… | ||
| Cross-Platform Mobile App Development with Visual C++ | ankit asthana, Marc Gregoire | 01h 00m |
Visual C++ 2015 claims one codebase for Windows, Android and iOS by compiling shared C++ back ends into .dll/.a/.so and thin platform UIs, using Visual Studio… | ||
| Test Driven C++ with Catch | Phil Nash | 58m |
Explains Catch as a single-header distribution for C++ unit and integration tests, shows a live TDD session building a ring buffer (capacity 4) using… | ||
| Writing Great Libraries: 89 Easy Steps | Zach Laine | 57m |
Claims that library APIs must be maximally efficient and impossible to use incorrectly, with names that are obvious and interfaces easy to reason about… | ||
| Concurrency TS Editor's Report | Artur Laksberg | 29m |
Proposal adds continuations to futures via std::future then with implicit unwrapping, plus two multi-future ops: when_all/when_any (when_all returns… | ||
| C++ Atomics... | Paul E. McKenney | 43m |
Explains why memory_order_consume is effectively promoted to acquire by production compilers, costing extra fences and killed optimizations, and shows concrete… | ||
| constexpr: Applications | Scott Schurr | 01h 00m |
Shows how to implement a constexpr binary literal in C++11 via recursive constexpr parsing and static_asserts, and how C++14 replaces recursion with a cleaner… | ||
| Reflection Techniques in C++ | Paul Fultz II | 47m |
Survey of concrete techniques: uses Boost.Fusion and Boost.Hana to adapt structs, get member names, zip names with values and produce XML; builds a prototype… | ||
| Lessons in Sustainability... | Titus Winters | 01h 10m |
Google runs a monolithic C++ repo with 100M+ lines and thousands of engineers committing weekly, so sustainability means being able to change things safely… | ||
| std::allocator... | Andrei Alexandrescu | 01h 12m |
Argues std::allocator is the wrong abstraction and replaces it with a small API of void size operations plus primitives like owns primitive and allocate_all… | ||
| C++ on the Web: Ponies for developers without pwn’ing users | JF Bastien | 01h 14m |
C++ binaries compile to a portable format and run in the browser with near‑native speed — demos show bash/ls, Python and emacs processes, cloning GitHub… | ||
| Rcpp: Seamless R and C++ Integration | Matt P. Dziubinski | 59m |
Shows concrete numbers and working code: a plain R loop is ~400× slower than R's builtin sum, bytecode reduces that to ~40×, and an Rcpp C++ implementation… | ||
| Racing The File System | Niall Douglas | 01h 01m |
Filesystems change underfoot; the talk shows concrete race failures (split reads, TOCTOU, directory-delete races) and practical fixes: use directory-handle… | ||
| `for_each_argument` explained and expanded | Vittorio Romeo | 32m |
Explains how Sean Parent’s one-line trick expands a parameter pack via an initializer_list-based comma trick to call a callable for each argument, then builds… | ||
| Programming with less effort in C++... | Sylvain Jubertie | 01h 00m |
Claims that using C++11/14 features measurably cuts coding effort by computing Halstead-style metrics with a Clang-based toolchain and a GitHub… | ||
| Templator: Demo of a nice tool... | Peter Sommerlad | 26m |
A demo of a tool called Templator that integrates with Eclipse CDT / Cevelop and visualizes template instantiation chains, showing actual deduced types… | ||
| Compile-time contract checking with nn | Jacob Potter | 24m |
Dropbox’s C++ codebase uses a compile-time non-nullable pointer wrapper called nn wrapper that enforces nullability in the type system rather than with… | ||
| Demystifying Floating Point | John Farrier | 48m |
Explains how IEEE floats are stored (sign/exponent/mantissa), demonstrates epsilon and relative error (pi shows ~2.8e-8 relative error), and details… | ||
| Secure C++ Programming | Gwendolyn Hunt | 48m |
Survey of concrete C++ fixes and tools: demonstrates an app that crashes a VM when run with 400 unbounded threads, explains integer wrap/truncation bugs and… | ||
| Pruning Error Messages From Your C++ Template Code | Roland Bock | 53m |
Library SQLpp11 generates 18 KB/100-line GCC and 38 KB/~300-line Clang error dumps for a tiny misuse; applying concrete techniques cuts those hundreds of lines… | ||
| string_view | Marshall Clow | 01h 03m |
string_view is a Library Fundamentals TS class that models a constant contiguous character sequence as a non-owning pointer+length (four char-type… | ||
| 3D Face Tracking and Reconstruction using Modern C++ | Patrik Huber | 38m |
Two lightweight C++11/14 libraries implement cascaded regression landmark detection and 3D face fitting that reconstruct a face from a single 2D image, trained… | ||
| “Work Stealing" | Pablo Halpern | 01h 18m |
Explains why randomized work stealing in C++ runtimes (Intel Cilk Plus, TBB, PPL and the proposed parallel STL) approximates a greedy scheduler and often hits… | ||
| “Boost Units Library for Correct Code" | Robert Ramey | 01h 09m |
Shows the Boost.Units library delivering zero runtime dimensional checks and automatic unit conversion in C++ so expressions carry real physical types, using… | ||
| “STL Algorithms in Action " | Michael VanLoon | 01h 02m |
http://www.Cppcon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2015
—
This will… | ||
| “Value Semantics: It ain't about the syntax!, Part I" | John Lakos | 58m |
Defines what “value” really means for C++ types by naming the salient attributes that must match for two objects to be the same value, shows why copying bits… | ||
| “Value Semantics: It ain't about the syntax!, Part II" | John Lakos | 01h 06m |
Argument: value semantics hinge on salient attributes and an Essential Property of Value: if two objects have the same value, performing the same mutating… | ||
| "Technical Specifications & C++17" | Chandler Carruth | 01h 14m |
Panel lists concrete Technical Specifications, their status and implementations: string_view, optional, any, apply land in Library Fundamentals v1 with partial… | ||
| “C++ Coroutines - a negative overhead abstraction" | Gor Nishanov | 58m |
Claims that C++17 coroutines act as a negative-overhead abstraction: implemented an awaitable interface with await_ready/await_suspend/await_resume, glued to… | ||
| “The Unexceptional Exceptions" | Fedor Pikus | 57m |
Claims that exceptions are “boring” and usable in small doses and shows how to make error handling correct, not scary: use RAII via unique_ptr/scope-guard to… | ||
| “The Current State of (free) Static Analysis" | Jason Turner | 29m |
Survey of free tools (Cppcheck, Clang static analyzer, Visual Studio analyzer, Coverity Scan, Metrics++, copy‑paste detector) compares real failures: several… | ||
| “Boostache Exposed : the internals of Boost's template engine" | Michael Caisse | 01h 03m |
Boostache is a C++11 template engine that parses Mustache and Django-like templates with a Boost.Spirit parser, compiles them to a small set of compiled VM… | ||
| “Transducers: from Clojure to C++" | Juan Pedro Bolivar Puente | 01h 00m |
Shows a working C++ implementation (Atria) of transducers that are composable values and apply to ranges, boost signals, CSP channels or sockets; introduces a… | ||
| “Static Analysis and C++: More Than Lint" | Neil MacIntosh | 01h 01m |
Claims that modern static analysis goes well beyond lint by finding subtle buffer overruns, always‑false branches and security flaws across large commercial… | ||
| “How to make your data structures wait-free for reads" | Pedro Ramalhete | 01h 06m |
Presents the Left-Right algorithm: writers take a mutex and update the inactive copy while readers use an atomic version index and per-thread padded counters… | ||
| Compile-time tools supporting generic programming in C++ | Ábel Sinkovics | 51m |
Shows concrete compile-time workflows: use metashell plus the MDB debugger to instantiate an expression, get forward/back traces and the instantiation tree, or… | ||
| “Reactive Stream Processing in Industrial IoT using DDS and Rx.cpp” | Sumant Tambe | 01h 10m |
Claims a practical C++ pattern for composable, low-latency stream processing by wiring RxCpp pipelines to DDS (RTI Connext) and the rx4dds bridge… | ||
| “Variable Templates and Compile-Time Computation with C++14" | Peter Sommerlad | 01h 18m |
C++14 variable templates plus relaxed constexpr let the compiler build real constants: this uses variable templates and integer_sequence to emit a 20×20… | ||
| “An Overview on Encryption in C++" | Jens Weller | 45m |
Overview of practical C++ encryption: compares cryptopp botan libsodium and shows AES (use GCM or CTR), RSA key-size tradeoffs (1024 shown, 2048–4096… | ||
| “Benchmarking C++ Code" | Bryce Adelstein Lelbach | 01h 11m |
Explains how to get believable C++ performance numbers: form a hypothesis, measure runtimes with std::chrono or the TSC, and report 95% confidence intervals… | ||
| “Type Traits - what are they and why should I use them?" | Marshall Clow | 56m |
Defines type traits as compile-time templates that return type info and shows concrete examples: is_floating_point and rank (array dimensionality)… | ||
| “Transactional Memory in Practice" | Brett Hall | 01h 03m |
Company product Dynamics runs a homegrown software transactional memory system in production for four years, replacing many mutexes and easing parallel… | ||
| Enhancing STL containers | Viktor Korsun | 37m |
Shows a custom container that keeps objects in a flat internal storage but swaps only integer indexes so reordering avoids moving payloads, implements iterator… | ||
| “Evolving array_view and string_view for safe C++ code" | Neil MacIntosh | 01h 00m |
Proposes concrete, tested GSL types (open‑source on GitHub) that replace pointer+length idioms with array_view and string_view, used in large Microsoft C++… | ||
| “Bridging Languages Cross-Platform..." | Jacob Potter, Andrew Twyman | 01h 02m |
Dropbox open-sources a code generator called Djinni code generator that generates language bindings and a C wrapper layer; Python support uses CFFI bridge plus… | ||
| “Declarative Control Flow" | Andrei Alexandrescu | 01h 08m |
Argues that exception cleanup becomes declarative by generalizing Scope Guard into three primitives and using the exception-count API to detect failures… | ||
| “Applying functional programming in code design" | Michał Dominiak | 49m |
Argues C++ can be structured functionally by preferring pure functions, using functional data structures (node‑based immutable lists that share nodes to cut… | ||
| Contracts for Dependable C++ | Gabriel Dos Reis | 56m |
Language-level contracts let code state preconditions and postconditions so compilers and static/dynamic analyzers can enforce interfaces rather than rely on… | ||
| “What is Open Source, and Why Should You Care?" | Kevin P. Fleming | 01h 08m |
A concise history of how open source evolves into working systems with governance, tooling and surprising scale: origin of the GPL / copyleft to lock in… | ||
| “Functional programming: functors and monads" | Michał Dominiak | 29m |
Covers concrete C++ examples: implements fmap for optional/vector/future using Boost optional, std::vector and futures, shows how fmap replaces manual loops… | ||
| “A Crash Course in Open Source Licensing" | Kevin P. Fleming | 01h 27m |
A practical walkthrough of how software licensing actually controls copying, modification and distribution: explains that copyright gives exclusive copying… | ||
| Comparison is not simple, but it can be simpler | Lawrence Crowl | 46m |
The standard’s algorithms require a strict weak order and passing general floating‑point values to std::sort is undefined: examples show five‑element inputs… | ||
| “Testing Battle.net (before deploying to millions of players)" | Ben Deane | 01h 03m |
Battle.net servers are C++ and matchmaking must scale to millions, so code separates heavy logic into a base class and shunts RPC/config interactions into a… | ||
| “Stop Teaching C" | Kate Gregory | 01h 00m |
Argument: stop starting C++ courses with C details and instead teach strings and vector from day one so beginners use the Standard Library, learn RAII and… | ||
| “A C++14 approach to dates and times" | Howard Hinnant | 59m |
A compact C++14 date/time library (date.h, plus optional tz.h) implements single-header extensions to std::chrono: a serial daypoint time_point, lightweight… | ||
| From Functional to Parallel: Stochastic Modeling in C++ | Kevin Carpenter | 58m |
Takes a legacy MFC single threaded financial app and refactors huge global row arrays into a three tier class hierarchy (CAccount, loans/investments… | ||
| “C++11/14/17 atomics and memory model..." | Michael Wong | 01h 01m |
C++11 introduces three memory models (six orderings) and most compilers implement relaxed, seq_cst, acquire, release and acq_rel but not consume ordering, so… | ||
| “On C++, Javascript and WebSockets" | Alex Fabijanic | 56m |
An OSP application server built on POCO with embedded Google V8 exposes C++ classes to JavaScript via an automatic remoting code generator (annotated headers →… | ||
| “C++ in Open Source Robotics" | Jackie Kay, Louise Poubel | 55m |
OSRF presents a working ROS 2 alpha: C++11 client libraries, DDS replacing TCP transport, node objects (not process-bound), and an Executor that can use… | ||
| “C++ Metaprogramming: Journey from simple to insanity and back" | Fedor Pikus | 01h 06m |
Covers template metaprogramming techniques that generate code at compile time using templates, partial specialization, default template arguments and SFINAE… | ||
| Birth of Study Group 14... | Nicolas Guillemot, Sean Middleditch | 55m |
Study Group 14 forms to bring game and low‑latency needs into ISO C++, creates a public Google group and GitHub repo with slides/code, and files paper n4526… | ||
| “CopperSpice: A Pure C++ GUI Library" | Barbara Geller, Ansel Sermersheim | 01h 12m |
CopperSpice is a Qt 4.8 fork that removes moc and implements pure C++11 reflection using variadic templates, type_traits, constexpr and a compile‑time counter… | ||
| CLANG + C2 - Engineering/Futures/Measurements | James Radigan | 01h 03m |
Details of the clang hookup to the Microsoft backend: a clang + c2.dll bridge that reads LLVM bitcode, converts to C2 IR and targets four architectures with… | ||
| “All Your Tests are Terrible..." | T. Winters, H. Wright | 01h 04m |
Google teams write roughly 100,000 C++ test binaries and common failures are concrete not abstract: tests must verify behavior, be readable, cover edge cases… | ||
| “The Importance of Being const" | Richard Powell | 53m |
Explains that const enforces invariants at compile time but in C++11 also carries a const implies data-race-free guarantee so mutable caching or logging inside… | ||
| “Intro to the C++ Object Model" | Richard Powell | 47m |
Shows how objects map to memory: member functions become a hidden this parameter and are name‑mangled, and virtuals compile to a vtable pointer inserted as… | ||
| nothing matches | ||