From Jason Turner

[support.arith.types]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp0ijv3pho/{from.md → to.md} +22 -2
tmp/tmp0ijv3pho/{from.md → to.md} RENAMED
@@ -5,10 +5,12 @@
5
  The header `<cstdint>` supplies integer types having specified widths,
6
  and macros that specify limits of integer types.
7
 
8
  ``` cpp
9
  // all freestanding
 
 
10
  namespace std {
11
  using int8_t = signed integer type; // optional
12
  using int16_t = signed integer type; // optional
13
  using int32_t = signed integer type; // optional
14
  using int64_t = signed integer type; // optional
@@ -52,50 +54,68 @@ namespace std {
52
  }
53
 
54
  #define INTN_MIN see below
55
  #define INTN_MAX see below
56
  #define UINTN_MAX see below
 
 
57
 
58
  #define INT_FASTN_MIN see below
59
  #define INT_FASTN_MAX see below
60
  #define UINT_FASTN_MAX see below
 
 
61
 
62
  #define INT_LEASTN_MIN see below
63
  #define INT_LEASTN_MAX see below
64
  #define UINT_LEASTN_MAX see below
 
 
65
 
66
  #define INTMAX_MIN see below
67
  #define INTMAX_MAX see below
68
  #define UINTMAX_MAX see below
 
 
69
 
70
  #define INTPTR_MIN see below // optional
71
  #define INTPTR_MAX see below // optional
72
  #define UINTPTR_MAX see below // optional
 
 
73
 
74
  #define PTRDIFF_MIN see below
75
  #define PTRDIFF_MAX see below
 
76
  #define SIZE_MAX see below
 
77
 
78
  #define SIG_ATOMIC_MIN see below
79
  #define SIG_ATOMIC_MAX see below
 
80
 
81
  #define WCHAR_MIN see below
82
  #define WCHAR_MAX see below
 
83
 
84
  #define WINT_MIN see below
85
  #define WINT_MAX see below
 
86
 
87
  #define INTN_C(value) see below
88
  #define UINTN_C(value) see below
89
  #define INTMAX_C(value) see below
90
  #define UINTMAX_C(value) see below
91
  ```
92
 
93
  The header defines all types and macros the same as the C standard
94
- library header `<stdint.h>`.
 
 
 
95
 
96
- See also: ISO C 7.20
97
 
98
  All types that use the placeholder *N* are optional when *N* is not `8`,
99
  `16`, `32`, or `64`. The exact-width types `intN_t` and `uintN_t` for
100
  *N* = `8`, `16`, `32`, and `64` are also optional; however, if an
101
  implementation defines integer types with the corresponding width and no
 
5
  The header `<cstdint>` supplies integer types having specified widths,
6
  and macros that specify limits of integer types.
7
 
8
  ``` cpp
9
  // all freestanding
10
+ #define __STDC_VERSION_STDINT_H__ 202311L
11
+
12
  namespace std {
13
  using int8_t = signed integer type; // optional
14
  using int16_t = signed integer type; // optional
15
  using int32_t = signed integer type; // optional
16
  using int64_t = signed integer type; // optional
 
54
  }
55
 
56
  #define INTN_MIN see below
57
  #define INTN_MAX see below
58
  #define UINTN_MAX see below
59
+ #define INTN_WIDTH see below
60
+ #define UINTN_WIDTH see below
61
 
62
  #define INT_FASTN_MIN see below
63
  #define INT_FASTN_MAX see below
64
  #define UINT_FASTN_MAX see below
65
+ #define INT_FASTN_WIDTH see below
66
+ #define UINT_FASTN_WIDTH see below
67
 
68
  #define INT_LEASTN_MIN see below
69
  #define INT_LEASTN_MAX see below
70
  #define UINT_LEASTN_MAX see below
71
+ #define INT_LEASTN_WIDTH see below
72
+ #define UINT_LEASTN_WIDTH see below
73
 
74
  #define INTMAX_MIN see below
75
  #define INTMAX_MAX see below
76
  #define UINTMAX_MAX see below
77
+ #define INTMAX_WIDTH see below
78
+ #define UINTMAX_WIDTH see below
79
 
80
  #define INTPTR_MIN see below // optional
81
  #define INTPTR_MAX see below // optional
82
  #define UINTPTR_MAX see below // optional
83
+ #define INTPTR_WIDTH see below // optional
84
+ #define UINTPTR_WIDTH see below // optional
85
 
86
  #define PTRDIFF_MIN see below
87
  #define PTRDIFF_MAX see below
88
+ #define PTRDIFF_WIDTH see below
89
  #define SIZE_MAX see below
90
+ #define SIZE_WIDTH see below
91
 
92
  #define SIG_ATOMIC_MIN see below
93
  #define SIG_ATOMIC_MAX see below
94
+ #define SIG_ATOMIC_WIDTH see below
95
 
96
  #define WCHAR_MIN see below
97
  #define WCHAR_MAX see below
98
+ #define WCHAR_WIDTH see below
99
 
100
  #define WINT_MIN see below
101
  #define WINT_MAX see below
102
+ #define WINT_WIDTH see below
103
 
104
  #define INTN_C(value) see below
105
  #define UINTN_C(value) see below
106
  #define INTMAX_C(value) see below
107
  #define UINTMAX_C(value) see below
108
  ```
109
 
110
  The header defines all types and macros the same as the C standard
111
+ library header `<stdint.h>`. The types denoted by `intmax_t` and
112
+ `uintmax_t` are not required to be able to represent all values of
113
+ extended integer types wider than `long long` and `unsigned long long`,
114
+ respectively.
115
 
116
+ See also: ISO C 7.22
117
 
118
  All types that use the placeholder *N* are optional when *N* is not `8`,
119
  `16`, `32`, or `64`. The exact-width types `intN_t` and `uintN_t` for
120
  *N* = `8`, `16`, `32`, and `64` are also optional; however, if an
121
  implementation defines integer types with the corresponding width and no