17 Concepts library [concepts]

17.1 General [concepts.general]

This Clause describes library components that C++ programs may use to perform compile-time validation of template arguments and perform function dispatch based on properties of types.
The purpose of these concepts is to establish a foundation for equational reasoning in programs.
The following subclauses describe language-related concepts, comparison concepts, object concepts, and callable concepts as summarized in Table 36.
Table 36 — Fundamental concepts library summary
Subclause
Header(s)
Language-related concepts
<concepts>
Comparison concepts
Object concepts
Callable concepts