I Wish I Could Use C++ 1x/y/z
summary
Demonstrates how to reproduce C++14/17 features on C++11/14 by concrete recipes: generic/variadic lambdas via an poly overload aggregator that composes overload sets; fold emulation using the initializer_list trick to expand packs without deep recursion; constexpr if approximated with SFINAE/select plus polymorphic lambdas to delay compilation of unused branches; integer_sequence built by recursive range-concatenation with logarithmic recursion depth. Reports which GCC/Clang/MSVC versions actually implement each feature, notes small reimplements of missing std pieces, and estimates moderate engineering cost vs. just upgrading.
AI-written summary · about
chapters (10)
- 0:00Introduction and poll
- 1:28Why upgrade to modern C++
- 4:01Barriers to C++ migration
- 7:19Emulating C++14/17 features
- 10:41Polymorphic lambdas in C++11
- 21:09Fold expressions alternatives
- 29:28Constexpr if without C++17
- 38:27Integer sequence emulation
- 44:34Should you emulate features?
- 47:12Q&A on standard library gaps
related talks
47mHelp, My Team Is Stuck In The 90s
01h 34mC++11/14 at Scale - What Have We Learned?
59mWhat's New In The C++14 Library
32mCute C++ Tricks, Part 2 of N: More code you should learn from and never write
46mPractical Functional Programming in C++
01h 07mDesign Patterns in Modern C++
01h 16mPolymorphism, Cohesion, and Coupling in C++
55mHow to "OO" in C++
