template<template...>
summary
Current C++ lets templates, values and class types be passed in different ways (since 98, 17, 20) but cannot uniformly treat a template name, a raw type like int, a template template, or a concept as a first-class parameter. Proposal introduces a template template keyword that creates a generic type list able to hold types, values, templates and concepts, enabling things like constructing std::vector<T> from a passed template name and to delay concept verification until instantiation for more composable metaprograms.
AI-written summary · about
related talks
01h 21mWhat Has C++20 Ever Done For Templates?
01h 30mRethinking the Way We Do Templates in C++
52mConcepts: The Future of Generic Programming
01h 03mBack to Basics: Function and Class Templates
01h 27mC++20 Templates - the Next Level: Concepts and More
57mIntroduction to C++ Template Metaprogramming
01h 00mConcepts in C++20: Revolution or Evolution
59mMetaprogramming: From Templates to Concepts
