Files
cppdraft_translate/cppdraft/concepts/general.md
2025-10-25 03:02:53 +03:00

35 lines
1.8 KiB
Markdown
Raw 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 | |