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

2.1 KiB
Raw Permalink Blame History

[concepts.arithmetic]

18 Concepts library [concepts]

18.4.7 Arithmetic concepts [concepts.arithmetic]

🔗

template<class T> concept [integral](#concept:integral "18.4.7Arithmetic concepts[concepts.arithmetic]") = [is_integral_v](meta.type.synop#lib:is_integral_v "21.3.3Header <type_­traits> synopsis[meta.type.synop]")<T>; template<class T> concept [signed_integral](#concept:signed_integral "18.4.7Arithmetic concepts[concepts.arithmetic]") = [integral](#concept:integral "18.4.7Arithmetic concepts[concepts.arithmetic]")<T> && [is_signed_v](meta.type.synop#lib:is_signed_v "21.3.3Header <type_­traits> synopsis[meta.type.synop]")<T>; template<class T> concept [unsigned_integral](#concept:unsigned_integral "18.4.7Arithmetic concepts[concepts.arithmetic]") = [integral](#concept:integral "18.4.7Arithmetic concepts[concepts.arithmetic]")<T> && ![signed_integral](#concept:signed_integral "18.4.7Arithmetic concepts[concepts.arithmetic]")<T>; template<class T> concept [floating_point](#concept:floating_point "18.4.7Arithmetic concepts[concepts.arithmetic]") = is_floating_point_v<T>;

1

#

[Note 1:

signed_integral can be modeled even by types that are not signed integer types ([basic.fundamental]); for example, char.

— end note]

2

#

[Note 2:

unsigned_integral can be modeled even by types that are not unsigned integer types ([basic.fundamental]); for example, bool.

— end note]