Templates define parameterized families of C++ entities such as functions (Chapter 10) or class types (Chapter 17). In practice, templates are mostly parameterized on seemingly arbitrary types. Yet most templates cannot be instantiated for just any type; at least not without error. The binary std::max<>() function template, for instance, can only be instantiated for types that support the < operator. And the std::vector<> and std::optional<> ...
© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
I. Horton, P. Van WeertBeginning C++23https://doi.org/10.1007/978-1-4842-9343-0_2121. Constrained Templates and Concepts
Get Beginning C++23: From Beginner to Pro now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.