Skip to content

Latest commit

 

History

History
199 lines (120 loc) · 8.63 KB

File metadata and controls

199 lines (120 loc) · 8.63 KB

Templates

Table of contents


Introduction and overview

🔗

🎥

📖


Argument deduction

🔗

🎥


Concepts

🔗

🎥


Function templates

🔗

Friend function templates

🔗


Parsing and compilation

Optimization

🔗

🎥

Two-phase lookup

Names are resolved in two steps: first, non-dependent names are resolved at the time of template definition and, second, dependent names are resolved at the time of template instantiation.

🔗

Keywords template and typename as disambiguators

struct S { template<typename T> using type = T; };
template<class T> void foo() { typename T::template type<int> x; }

foo<S>();

🔗

🎥


Policies

🎥

📖


Specialization

🔗


Tuples

🔗

🎥

Type lists

🔗

📖

Type traits

See also Type traits – The standard library and Boost.

🔗

🎥