Live briefing
Everything about Curiously recurring template pattern
Software design pattern
The curiously recurring template pattern (CRTP) is an idiom in which a class derives from a class template instantiation using itself as a template parameter. More generally it is known as -bound polymorphism, and it is a form of F-bounded quantification. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Curiously recurring template patternA 5-minute orientation
- Go sideways: Variadic templateA closely related topic
- Go sideways: Template (C++)A closely related topic
đź“– Definitions
Noun An idiom in which a class X derives from a class template instantiation using X itself as template argument.
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Open Library didn't respond; try again in a moment.
đź”— Related topics
- Variadic template In computer programming, variadic templates or variation generics are templates that take a variable number of type parameters. They exist in several programmin…
- Template (C++) Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class…
- Template metaprogramming Template metaprogramming (TMP) is a metaprogramming technique in which templates are used by a compiler to generate temporary source code, which is merged…
- C++ syntax The syntax of C++ is the set of rules defining how a C++ program is written and compiled. C++ syntax is largely inherited from the syntax of its ancestor…
- Default argument In computer programming, a default argument is an argument to a function that a programmer is not required to specify. In most programming languages, functions…
- C++ input/output library In the C++ programming language, input/output library refers to a family of class templates and supporting functions in the C++ Standard Library that implement…
- Substitution failure is not an error Substitution failure is not an error (SFINAE) is a principle in C++ where an invalid substitution of template parameters is not in itself an error. David…
- Method (computer programming) A method in object-oriented programming (OOP) is a procedure associated with an object, and generally also a message. An object consists of state data…