tuple<>: What's New and How it Works
summary
Covers concrete C++ tuple changes and how they’re implemented: get-by-type (C++14) and conditionally-explicit constructors (C++17) change overload and initialization behavior; std::conjunction/disjunction short‑circuit trait checks to avoid ill‑formed instantiations; integer_sequence + index_sequence power efficient variadic unpacking and enable the mini‑binder example that calls functions from stored tuples. Implementation detail: Visual Studio uses a make_integer_sequence compiler hook for speed; apply and make_from_tuple are specified in C++17 (make_from_tuple uses parentheses, not braces). Some features land in VS2015u3; others expose front‑end bugs found during testing.
AI-written summary · about
chapters (17)
- 0:00Introduction to Tuple
- 2:13Basic Tuple Usage
- 5:01Advanced C++11 Features
- 9:01Tuple Construction Functions
- 12:34Tie and Assignment
- 16:18Tuple Queries and Type Traits
- 19:18Get Function and Value Categories
- 22:50C++14 Tuple Enhancements
- 25:49Integer Sequence Implementation
- 29:50Variadic Data Members
- 34:16C++17 Features: Apply and Make
- 37:34Metaprogramming Traits
- 40:56Conditionally Explicit Constructors
- 46:08Tuple Constructor Internals
- 50:27SFINAE and Constrained Constructors
- 54:16C++17 Tuple Issues and Fixes
- 58:23Q&A and Closing
related talks
01h 23mHow C++20 Can Simplify std::tuple
01h 10mBack to Basics: Algebraic Data Types
51mA Tale of Two Tuples - A Story of the C++ Revolution
59mWhat's New In The C++14 Library
01h 00mC++17, part 1: The Language Features
49mC++17 Features (part 1 of 2)
05mC++20 Lambdas: Familiar Template Syntax
56m“Type Traits - what are they and why should I use them?"
