“Modern C++ Interfaces..."
summary
Argues that richer C++ features produce simpler, more robust interfaces by embedding policy and judgment into code; demonstrates replacing a naive memcpy with staged implementations selected by type traits (is_trivially_copyable, nothrow copy) and constexpr if to allow mutually incompatible branches to compile; shows SFINAE-based DWIM interfaces using enable_if and return-type tricks; builds a small toolkit of composable template AST evaluated at compile time (variable templates, fold expressions, operator-overloaded predicate trees) to generate SFINAE constraints — code and slides on the CppCon2017 GitHub.
AI-written summary · about
chapters (9)
- 0:00Introduction and evolution
- 2:31Embedding experience in code
- 10:47Simplifying interfaces with constexpr
- 17:55SFINAE and interface constraints
- 27:01Universal references and intent
- 33:11Distributed organic interfaces
- 43:06Complex constraints and predicates
- 48:07C++ complexity and future
- 51:54Q&A and closing
related talks
01h 39m“Thoughts on a more powerful and simpler C++ (5 of N)”
01h 01mEasy to Use, Hard to Misuse: Declarative Style in C++
57mIntroduction to C++ Template Metaprogramming
01h 01mRethinking the Way We Do Templates in C++
01h 14mReintroduction to Generic Programming for C++ Engineers
01h 06m“C++ Metaprogramming: Journey from simple to insanity and back"
01h 39m“Concepts: The Future of Generic Programming (the future is here)”
01h 27mC++20 Templates - the Next Level: Concepts and More
