Init
This commit is contained in:
41
cppdraft/concepts/arithmetic.md
Normal file
41
cppdraft/concepts/arithmetic.md
Normal file
@@ -0,0 +1,41 @@
|
||||
[concepts.arithmetic]
|
||||
|
||||
# 18 Concepts library [[concepts]](./#concepts)
|
||||
|
||||
## 18.4 Language-related concepts [[concepts.lang]](concepts.lang#concepts.arithmetic)
|
||||
|
||||
### 18.4.7 Arithmetic concepts [concepts.arithmetic]
|
||||
|
||||
[ð](#itemdecl:1)
|
||||
|
||||
`template<class T>
|
||||
concept [integral](#concept:integral "18.4.7 Arithmetic concepts [concepts.arithmetic]") = [is_integral_v](meta.type.synop#lib:is_integral_v "21.3.3 Header <type_traits> synopsis [meta.type.synop]")<T>;
|
||||
template<class T>
|
||||
concept [signed_integral](#concept:signed_integral "18.4.7 Arithmetic concepts [concepts.arithmetic]") = [integral](#concept:integral "18.4.7 Arithmetic concepts [concepts.arithmetic]")<T> && [is_signed_v](meta.type.synop#lib:is_signed_v "21.3.3 Header <type_traits> synopsis [meta.type.synop]")<T>;
|
||||
template<class T>
|
||||
concept [unsigned_integral](#concept:unsigned_integral "18.4.7 Arithmetic concepts [concepts.arithmetic]") = [integral](#concept:integral "18.4.7 Arithmetic concepts [concepts.arithmetic]")<T> && <T>;
|
||||
template<class T>
|
||||
concept [floating_point](#concept:floating_point "18.4.7 Arithmetic concepts [concepts.arithmetic]") = is_floating_point_v<T>;
|
||||
`
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/concepts.tex#L502)
|
||||
|
||||
[*Note [1](#note-1)*:
|
||||
|
||||
[signed_integral](#concept:signed_integral "18.4.7 Arithmetic concepts [concepts.arithmetic]") can be modeled even by types that are
|
||||
not signed integer types ([[basic.fundamental]](basic.fundamental "6.9.2 Fundamental types")); for example, char[.](#1.sentence-1)
|
||||
|
||||
â *end note*]
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/concepts.tex#L508)
|
||||
|
||||
[*Note [2](#note-2)*:
|
||||
|
||||
[unsigned_integral](#concept:unsigned_integral "18.4.7 Arithmetic concepts [concepts.arithmetic]") can be modeled even by types that are
|
||||
not unsigned integer types ([[basic.fundamental]](basic.fundamental "6.9.2 Fundamental types")); for example, bool[.](#2.sentence-1)
|
||||
|
||||
â *end note*]
|
||||
Reference in New Issue
Block a user