Overview
Explore advanced C++ extension techniques in this comprehensive conference talk from C++Now 2019. Delve into alternatives to traditional callback paradigms and virtual class methods for enhancing application extensibility. Examine case studies of various libraries, including game engines, iostream mechanisms, sol3, and nlohmann::json, to understand their non-dynamic extension points. Analyze the pros and cons of different approaches such as ADL extension and struct template specialization. Learn how to enable developers to extend applications with custom types and routines at compile-time, considering factors like visibility, undefined base classes, concepts, and type coupling. Gain insights into solving common extension problems and implementing effective solutions using techniques like hidden member friends and Argument Dependent Lookup (ADL).
Syllabus
Introduction
Virtual Methods
Extension Methodology
Case Studies
Example
Visibility
Undefined Base Class
MPlet
Concepts
Standed Hash
Standard Identifiers
Template Functions
Boo Serialization
The Problem
BoostRealization Access
Type Coupling
Argument Dependent Lookup
Swap
The Solution
Standard Implementation
ADL
Hidden Member Friends
Abseil
Hidden Member Friend
Swap right
Users problem
Constraints
Taught by
CppNow