Files
2025-10-25 03:02:53 +03:00

35 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[concepts.general]
# 18 Concepts library [[concepts]](./#concepts)
## 18.1 General [concepts.general]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/concepts.tex#L6)
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[.](#1.sentence-1)
The purpose of these concepts is to establish
a foundation for equational reasoning in programs[.](#1.sentence-2)
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/concepts.tex#L12)
The following subclauses describe language-related concepts, comparison
concepts, object concepts, and callable concepts as summarized in
Table [48](#tab:concepts.summary "Table 48: Fundamental concepts library summary")[.](#2.sentence-1)
Table [48](#tab:concepts.summary) — Fundamental concepts library summary [[tab:concepts.summary]](./tab:concepts.summary)
| [🔗](#tab:concepts.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [🔗](#tab:concepts.summary-row-2)<br>[[concepts.equality]](concepts.equality "18.2Equality preservation") | Equality preservation | |
| [🔗](#tab:concepts.summary-row-3)<br>[[concepts.lang]](concepts.lang "18.4Language-related concepts") | Language-related concepts | <concepts> |
| [🔗](#tab:concepts.summary-row-4)<br>[[concepts.compare]](concepts.compare "18.5Comparison concepts") | Comparison concepts | |
| [🔗](#tab:concepts.summary-row-5)<br>[[concepts.object]](concepts.object "18.6Object concepts") | Object concepts | |
| [🔗](#tab:concepts.summary-row-6)<br>[[concepts.callable]](concepts.callable "18.7Callable concepts") | Callable concepts | |