Also known as
- Recursive Type Bound
- Recursive Generic
- Static Polymorphism
- Mixin Inheritance
Intent
Curiously Recurring Template Pattern (CRTP) is used to achieve a form of static polymorphism by having a class template derive from a template instantiation of its own class, allowing method overriding and polymorphic behavior at compile time rather than at runtime.