Basic class template

Curiously recurring template pattern (CRTP)

Function templates

Iterating over a parameter pack

CRTP to avoid code duplication

Variadic template data structures

Partial template specialization

Argument forwarding

Template specialization

Template parameter deduction for constructors

Alias template

Template template parameters

Non-type template parameter

Declaring non-type template arguments with auto

Explicit instantiation

Default template parameter value