Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of Boost.Dispatch, a generalized tag dispatching infrastructure library for C++, in this comprehensive conference talk from CppNow. Delve into the challenges of specifying function specializations over complex type constraints and learn how Boost.Dispatch offers a solution by providing a protocol for defining tags, mapping tags to function implementations, and extending specializations in a modular way. Discover how the library enables the use of function property categorization and architectural information to guide dispatch decisions. Gain insights into SFINAE, overloading, and traditional tag dispatching techniques, and understand their limitations. Through practical examples ranging from simple library design to high-performance computing code, examine how Boost.Dispatch selects optimal function implementations based on non-trivial architecture-dependent information. Conclude with an in-depth look at the library's implementation and a discussion of upcoming challenges in the field.