A Tale of Two Tuples - A Story of the C++ Revolution
summary
Claims a rule-of-zero tuple that omits all special member functions and a lambda-tuple access style map to implement get, tie, swap and streaming with no temporaries. Delivers an open source Tuple library plus a C array helper, expanded by preprocessor to 16 elements (tested to 64), uses C++20 no_unique_address and structured bindings, exposes portability issues with no_unique_address, and admits tuple_cat caused CI breakage but core APIs work for regular applications.
AI-written summary · about
chapters (15)
- 0:00Introduction and history
- 5:12Revisiting the C++11 revolution
- 7:48Library vs language types
- 12:28Designing Lotto Tuple
- 14:45Library dependencies and docs
- 21:12Examples and aggregate types
- 27:21First-class arrays in Tuple
- 33:53Tie and comparison operators
- 36:23Map and hidden friends
- 39:56Preprocessor internals
- 43:14Member pointers and recursion
- 45:05Implementation of tie
- 47:02Tie assignment operators
- 48:48Tuple cat and dragons
- 49:49Q&A and opinions
related talks
01h 23mHow C++20 Can Simplify std::tuple
01h 01mtuple<>: What's New and How it Works
05mC++20 Lambdas: Familiar Template Syntax
01h 10mBack to Basics: Algebraic Data Types
36mCompile-time reflection, Serialization and ORM
01h 04m“Constant Fun"
01h 07mC++20 Concepts: A Day in the Life
04mFun? with NTTPs in C++
