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).
The Plan for Tomorrow - Extension Points in C++ Applications