Overview
Explore advanced techniques in C++ template metaprogramming in this 44-minute conference talk from C++Now 2017. Delve into Odin Holmes' presentation on type-based template metaprogramming, focusing on improving compilation speed for large-scale metaprograms. Learn about new patterns that allow for efficient computation of complex results while reducing intermediate types. Discover how separating algorithms from data and composing operations can significantly enhance compiler performance. Gain insights into the advantages and limitations of value-based metaprogramming with Boost.Hana, and understand when type-based approaches may be more suitable for library implementers and experts. Follow along as Holmes, an experienced embedded systems programmer and author of the kvasir::bit library, shares his expertise in static checking and efficiency optimization for bare metal programming.
Syllabus
Introduction
Why Metaprogramming
BridgeAnt
Eric Kneedler
The rule of hell
Conditionals
Conditional specialization
Replace
Fold
List
Meta closures
Replace if
Partition
Hana
Mehta
Each
Metal
Medic
Composition Matching
Fusion
Hana vs Fusion
Should you use Fusion
Higherorder meta functions
Sweeney friendliness
Fusion friendly
Fusion runtime
Jason
Louie
Taught by
CppNow