CppCon2018 icon indicating copy to clipboard operation
CppCon2018 copied to clipboard

Slides and other materials from CppCon 2018

CppCon 2018 Presentation Materials

https://github.com/CppCon/CppCon2018 is the canonical location for presentations and code from CppCon 2018.

For Speakers: Submitting Materials

Index of Materials

Keynotes

  • Concepts - The Future of Generic Programming by Bjarne Stroustrup
  • Thoughts on a more powerful and simpler C++ (5 of N) by Herb Sutter

Presentations

  • A Little Order - Delving Into The STL Sorting Algorithms by Fred Tingaud
  • A Semi Compile/Run-time Map with (Nearly) Zero Overhead Lookup by Fabian Renn-Giles [README] [more materials]
  • An Allocator is a Handle to a Heap by Arthur O'Dwyer
  • Applied Best Practices by Jason Turner
  • Avoiding Disasters with Strongly Typed C++ by Arno Lepisk
  • Better C++ using Machine Learning on Large Projects by Nicolas Fleury, Mathieu Nayrolles
  • Better Tools in Your Clang Toolbox by Victor Ciura
  • Build Systems: A Simple Solution to a Complicated Problem by Peter Bindels
  • Building a C++ Reflection System in One Weekend Using Clang and LLVM by Arvid Gerstmann [README]
  • Building Multi-Million Line C++ Projects Effortlessly with the Meson Build System by Jussi Pakkanen
  • Class Template Argument Deduction for Everyone by Stephan T. Lavavej
  • Compile Time Regular Expressions by Hana Dusíková [README]
  • Concepts as She is Spoke by Arthur O'Dwyer
  • C++ Cryptozoology - A Compendium of Cryptic Characters by Adi Shavit
  • C++ Dependency Management from Package Consumption to Project Development by Boris Kolpackov
  • C++ Everywhere with WebAssembly by Damien Buhl [README]
  • C++ Modules by Nathan Sidwell
  • Crafting Embedded Domain Specific Language (EDSL) in C++ by Gilang Hamidy [more materials]
  • CUDA Kernels with C++ by Michael Gopshtein
  • Dealing with Aliasing Using Contracts by Gábor Horváth
  • Debug C++ Without Running by Anastasia Kazakova
  • Declarative Style in C++ by Ben Deane
  • Design for Performance by Fedor Pikus
  • Don't package your libraries, write packagable libraries! by Robert Schumacher [.pptx] [.pdf]
  • DynaMix: A New Take on Polymoprhism by Borislav Stanimirov [README]
  • Effective replacement of dynamic polymorphism with std::variant by Mateusz Pusz
  • Emulating the Nintendo 3DS - Generative and Declarative Programming in Action by Tony Wasserka
  • Enough string_view to hang ourselves by Victor Ciura
  • Fancy Pointers for Fun and Profit by Bob Steagall
  • Fast Conversion From UTF-8 with C++, DFAs, and SSE Intrinsics by Bob Steagall
  • Feather: A Modern C++ Web Development Framework by Yu Qi
  • From Metaprogramming Tricks to Elegance by Vincent Reverdy
  • Get Rich Quick! Using Boost.Beast WebSockets and Networking TS by Vinnie Falco [README]
  • Git, CMake, Conan - How to ship and reuse our C++ projects by Mateusz Pusz
  • How to Argue(ment) by Richard Powell
  • Implementing the Cpp Core Guidelines Lifetime Safety Profile in Clang by Matthias Gehre, Gabor Horvath
  • Inside Visual C++'s Parallel Algorithms by Billy O'Neal [.pptx] [.pdf] [README]
  • Latest and Greatest in the Visual Studio Family for C++ Developers 2018 by Steve Carroll, Marian Luparu
  • Liberating the Debugging Experience with the gdb Python API by Jeff Trull
  • Make It Fixable: Preparing for Security Vulnerability Reports by Patricia Aas
  • minidumps: gdb-compatible, software controlled core dumps by Matthew Fleming
  • Modern C++ API Design, pt 1 by Titus Winters
  • Modern C++ API Design, pt 2 by Titus Winters
  • Modern C++ in Embedded Systems - The Saga Continues by Michael Caisse
  • Multi-Precision Arithmetic for Cryptology in C++, at Run-Time and at Compile-Time by Niek J Bouman
  • Named Arguements from Scratch by Richard Powell [README] [more materials]
  • OOP is dead, long live Data-oriented design by Stoyan Nikolov
  • Operator Overloading by Ben Deane
  • Pessimistic Programming by Patrice Roy
  • Rapid Prototyping of Graphics Shaders in Modern C++ by Valentin Galea
  • Regular Types and Why Do I Care? by Victor Ciura
  • Return Value Optimization - Harder Than It Looks by Arthur O'Dwyer
  • Sane and Safe C++ Classes by Peter Sommerlad
  • Save $$ Testing Code the Playback-Based Way by William Clements
  • Scripting at the Speed of Thought: Using Lua in C++ with sol3 by JeanHeyd Meneide
  • Simplicity - Not Just For Beginners by Kate Gregory [.pdf] [.pptx]
  • Smart References There and Back Again by Erik Valkering
  • Software Vulnerabilities in C and C++ by Patricia Aas
  • Standard Library Compatibility Guidelines by Titus Winters
  • State Machines Battlefield - Naive vs STL vs Boost by Kris Jusiak
  • Surprises In Object Lifetime by Jason Turner
  • Teaching Old Compilers New Tricks - Transpiling C++17 to C++11 by Tony Wasserka
  • The Bits Between the Bits by Matt Godbolt
  • The C++ Execution Model by Bryce Adelstein Lelbach
  • The Embedded Device Under Your Desk: UEFI Applications With Modern C++ by Morris Hafner
  • The Most Valuable Values by Juanpe Bolívar [README]
  • The Networking TS in Practice: Testable, Composable Asynchronous I/O in C++ by Robert Leahy [README] [more materials]
  • The Salami Method for Cross Platform Development by Adi Shavit
  • These Aren't the COM Objects You're Looking For by Victor Ciura
  • To Kill a Mocking Framework: Tools and Techniques for Testing Callbacks Using Standard C++ by Alastair Rankine
  • Undefined Behavior is Not an Error by Barbara Geller, Ansel Sermersheim
  • Unwinding the Stack - Exploring How C++ Exceptions Work on Windows by James McNellis
  • What Do We Mean When We Say Nothing At All? by Kate Gregory [.pptx] [.pdf]
  • What do you mean thread-safe? by Geoff Romer [.pptx] [.pdf]
  • What to Expect from a Next-Generation C++ Build System by Boris Kolpackov
  • Woes of Scope Guards and Unique Resource by Peter Sommerlad
  • Writing Standard Library Compliant Data Structures and Algorithms by Marc Gregoire

Lightning Talks and Lunch Sessions

  • Big Infrastructure at a Small Scale by Matthew von Arx [README]
  • [Boost].DI - Inject All The Things! by Kris Jusiak
  • Emacs BoF by Jeff Trull
  • Fixing Two-Phase Initialization by Andreas Weis
  • How to create slides about CMake with CMake by Mateusz Pusz
  • Qt Signals and the Coroutines TS by Jeff Trull
  • rof_egnar by Peter Sommerlad
  • Set it and Forget it by Matthew von Arx
  • Study Group 14: CppCon Report by John McFarlane
  • Study Group 14: The Story So Far by John McFarlane
  • The Bad Big Wolf Meets Riding Hood Little Red by Borislav Stanimirov
  • The Shape of a Program by James McNellis
  • Trivially Relocatable by Arthur O'Dwyer

Posters

  • A C++ tasking framework with compile-time dispatching and type-driven priority scheduling for HPC by David Haensel
  • CodeChecker: A static analysis infrastructure built on the LLVM/Clang Static Analyzer tool chain by György Orbán, Tibor Brunner, Gábor Horváth, Réka Kovács
  • CodeCompass: An Open Software Comprehension Framework by Zoltán Porkoláb, Tibor Brunner, Márton Csordás, Máté Cserép, Anett Fekete, Endre Fülöp, Gábor Horváth
  • Cpp-Taskflow: Fast Parallel Programming with Task Dependency Graphs by Tsung-Wei Huang, Chun-Xun Lin, Guannan Guo, Martin D. F. Wong
  • CTwik: Hot Reloading & Quick-Build System by Mohit Saini
  • Efficiently and Comprehensively Reproducing C++ Bug Reports with Sciunit by Zhihao Yuan, Tanu Malik
  • Feedback on practical use of c++17 std::filesystem::recursive_directory_iterator by Noel Tchidjo Moyo
  • Fighting Non-determinism in C++ Compilers by Mandeep Singh Grang
  • Fizz, a C++14 implementation of TLS 1.3 by Subodh Iyengar, Kyle Nekritz
  • Funky Pools - Active Containers for Refactoring Legacy Code by Norman Birkett
  • Hardware Memory Tagging makes C++ Memory-Safer by Kostya Serebryany
  • Lifting machine code instructions to LLVM bitcode by Peter Goodman
  • Modernizing HPC Software with C++11 by Ivo Kabadshow, Andreas Beckmann, David Haensel
  • Retrofit C++17 to large Visual Studio codebases by Gabriel Diaconița
  • The C++ Lands, its amazing creatures and weird beasts by Elena Sagalaeva, Vladimir Gorshunin
  • Using C++ to improve productivity in platform with C API by Alexius Alvin, Gilang Hamidy