132
|
1 /**
|
|
2 * D header file for C99.
|
|
3 *
|
|
4 * Copyright: Public Domain
|
|
5 * License: Public Domain
|
|
6 * Authors: Sean Kelly
|
|
7 * Standards: ISO/IEC 9899:1999 (E)
|
|
8 */
|
|
9 module tango.stdc.inttypes;
|
|
10
|
|
11 public import tango.stdc.stddef;
|
|
12 public import tango.stdc.stdint;
|
|
13
|
|
14 extern (C):
|
|
15
|
|
16 struct imaxdiv_t
|
|
17 {
|
|
18 intmax_t quot,
|
|
19 rem;
|
|
20 }
|
|
21
|
|
22 version( VerboseC )
|
|
23 {
|
|
24 const char* PRId8 = "hhd";
|
|
25 const char* PRId16 = "hd";
|
|
26 const char* PRId32 = "ld";
|
|
27 const char* PRId64 = "lld";
|
|
28
|
|
29 const char* PRIdLEAST8 = "hhd";
|
|
30 const char* PRIdLEAST16 = "hd";
|
|
31 const char* PRIdLEAST32 = "ld";
|
|
32 const char* PRIdLEAST64 = "lld";
|
|
33
|
|
34 const char* PRIdFAST8 = "hhd";
|
|
35 const char* PRIdFAST16 = "d";
|
|
36 const char* PRIdFAST32 = "ld";
|
|
37 const char* PRIdFAST64 = "lld";
|
|
38
|
|
39 const char* PRIi8 = "hhi";
|
|
40 const char* PRIi16 = "hi";
|
|
41 const char* PRIi32 = "li";
|
|
42 const char* PRIi64 = "lli";
|
|
43
|
|
44 const char* PRIiLEAST8 = "hhi";
|
|
45 const char* PRIiLEAST16 = "hi";
|
|
46 const char* PRIiLEAST32 = "li";
|
|
47 const char* PRIiLEAST64 = "lli";
|
|
48
|
|
49 const char* PRIiFAST8 = "hhi";
|
|
50 const char* PRIiFAST16 = "i";
|
|
51 const char* PRIiFAST32 = "li";
|
|
52 const char* PRIiFAST64 = "lli";
|
|
53
|
|
54 const char* PRIo8 = "hho";
|
|
55 const char* PRIo16 = "ho";
|
|
56 const char* PRIo32 = "lo";
|
|
57 const char* PRIo64 = "llo";
|
|
58
|
|
59 const char* PRIoLEAST8 = "hho";
|
|
60 const char* PRIoLEAST16 = "ho";
|
|
61 const char* PRIoLEAST32 = "lo";
|
|
62 const char* PRIoLEAST64 = "llo";
|
|
63
|
|
64 const char* PRIoFAST8 = "hho";
|
|
65 const char* PRIoFAST16 = "o";
|
|
66 const char* PRIoFAST32 = "lo";
|
|
67 const char* PRIoFAST64 = "llo";
|
|
68
|
|
69 const char* PRIu8 = "hhu";
|
|
70 const char* PRIu16 = "hu";
|
|
71 const char* PRIu32 = "lu";
|
|
72 const char* PRIu64 = "llu";
|
|
73
|
|
74 const char* PRIuLEAST8 = "hhu";
|
|
75 const char* PRIuLEAST16 = "hu";
|
|
76 const char* PRIuLEAST32 = "lu";
|
|
77 const char* PRIuLEAST64 = "llu";
|
|
78
|
|
79 const char* PRIuFAST8 = "hhu";
|
|
80 const char* PRIuFAST16 = "u";
|
|
81 const char* PRIuFAST32 = "lu";
|
|
82 const char* PRIuFAST64 = "llu";
|
|
83
|
|
84 const char* PRIx8 = "hhx";
|
|
85 const char* PRIx16 = "hx";
|
|
86 const char* PRIx32 = "lx";
|
|
87 const char* PRIx64 = "llx";
|
|
88
|
|
89 const char* PRIxLEAST8 = "hhx";
|
|
90 const char* PRIxLEAST16 = "hx";
|
|
91 const char* PRIxLEAST32 = "lx";
|
|
92 const char* PRIxLEAST64 = "llx";
|
|
93
|
|
94 const char* PRIxFAST8 = "hhx";
|
|
95 const char* PRIxFAST16 = "x";
|
|
96 const char* PRIxFAST32 = "lx";
|
|
97 const char* PRIxFAST64 = "llx";
|
|
98
|
|
99 const char* PRIX8 = "hhX";
|
|
100 const char* PRIX16 = "hX";
|
|
101 const char* PRIX32 = "lX";
|
|
102 const char* PRIX64 = "llX";
|
|
103
|
|
104 const char* PRIXLEAST8 = "hhX";
|
|
105 const char* PRIXLEAST16 = "hX";
|
|
106 const char* PRIXLEAST32 = "lX";
|
|
107 const char* PRIXLEAST64 = "llX";
|
|
108
|
|
109 const char* PRIXFAST8 = "hhX";
|
|
110 const char* PRIXFAST16 = "X";
|
|
111 const char* PRIXFAST32 = "lX";
|
|
112 const char* PRIXFAST64 = "llX";
|
|
113
|
|
114 const char* SCNd8 = "hhd";
|
|
115 const char* SCNd16 = "hd";
|
|
116 const char* SCNd32 = "ld";
|
|
117 const char* SCNd64 = "lld";
|
|
118
|
|
119 const char* SCNdLEAST8 = "hhd";
|
|
120 const char* SCNdLEAST16 = "hd";
|
|
121 const char* SCNdLEAST32 = "ld";
|
|
122 const char* SCNdLEAST64 = "lld";
|
|
123
|
|
124 const char* SCNdFAST8 = "hhd";
|
|
125 const char* SCNdFAST16 = "d";
|
|
126 const char* SCNdFAST32 = "ld";
|
|
127 const char* SCNdFAST64 = "lld";
|
|
128
|
|
129 const char* SCNi8 = "hhd";
|
|
130 const char* SCNi16 = "hi";
|
|
131 const char* SCNi32 = "li";
|
|
132 const char* SCNi64 = "lli";
|
|
133
|
|
134 const char* SCNiLEAST8 = "hhd";
|
|
135 const char* SCNiLEAST16 = "hi";
|
|
136 const char* SCNiLEAST32 = "li";
|
|
137 const char* SCNiLEAST64 = "lli";
|
|
138
|
|
139 const char* SCNiFAST8 = "hhd";
|
|
140 const char* SCNiFAST16 = "i";
|
|
141 const char* SCNiFAST32 = "li";
|
|
142 const char* SCNiFAST64 = "lli";
|
|
143
|
|
144 const char* SCNo8 = "hhd";
|
|
145 const char* SCNo16 = "ho";
|
|
146 const char* SCNo32 = "lo";
|
|
147 const char* SCNo64 = "llo";
|
|
148
|
|
149 const char* SCNoLEAST8 = "hhd";
|
|
150 const char* SCNoLEAST16 = "ho";
|
|
151 const char* SCNoLEAST32 = "lo";
|
|
152 const char* SCNoLEAST64 = "llo";
|
|
153
|
|
154 const char* SCNoFAST8 = "hhd";
|
|
155 const char* SCNoFAST16 = "o";
|
|
156 const char* SCNoFAST32 = "lo";
|
|
157 const char* SCNoFAST64 = "llo";
|
|
158
|
|
159 const char* SCNu8 = "hhd";
|
|
160 const char* SCNu16 = "hu";
|
|
161 const char* SCNu32 = "lu";
|
|
162 const char* SCNu64 = "llu";
|
|
163
|
|
164 const char* SCNuLEAST8 = "hhd";
|
|
165 const char* SCNuLEAST16 = "hu";
|
|
166 const char* SCNuLEAST32 = "lu";
|
|
167 const char* SCNuLEAST64 = "llu";
|
|
168
|
|
169 const char* SCNuFAST8 = "hhd";
|
|
170 const char* SCNuFAST16 = "u";
|
|
171 const char* SCNuFAST32 = "lu";
|
|
172 const char* SCNuFAST64 = "llu";
|
|
173
|
|
174 const char* SCNx8 = "hhd";
|
|
175 const char* SCNx16 = "hx";
|
|
176 const char* SCNx32 = "lx";
|
|
177 const char* SCNx64 = "llx";
|
|
178
|
|
179 const char* SCNxLEAST8 = "hhd";
|
|
180 const char* SCNxLEAST16 = "hx";
|
|
181 const char* SCNxLEAST32 = "lx";
|
|
182 const char* SCNxLEAST64 = "llx";
|
|
183
|
|
184 const char* SCNxFAST8 = "hhd";
|
|
185 const char* SCNxFAST16 = "x";
|
|
186 const char* SCNxFAST32 = "lx";
|
|
187 const char* SCNxFAST64 = "llx";
|
|
188
|
|
189 version( X86_64 )
|
|
190 {
|
|
191 const char* PRIdMAX = PRId64;
|
|
192 const char* PRIiMAX = PRIi64;
|
|
193 const char* PRIoMAX = PRIo64;
|
|
194 const char* PRIuMAX = PRIu64;
|
|
195 const char* PRIxMAX = PRIx64;
|
|
196 const char* PRIXMAX = PRIX64;
|
|
197
|
|
198 const char* SCNdMAX = SCNd64;
|
|
199 const char* SCNiMAX = SCNi64;
|
|
200 const char* SCNoMAX = SCNo64;
|
|
201 const char* SCNuMAX = SCNu64;
|
|
202 const char* SCNxMAX = SCNx64;
|
|
203
|
|
204 const char* PRIdPTR = PRId64;
|
|
205 const char* PRIiPTR = PRIi64;
|
|
206 const char* PRIoPTR = PRIo64;
|
|
207 const char* PRIuPTR = PRIu64;
|
|
208 const char* PRIxPTR = PRIx64;
|
|
209 const char* PRIXPTR = PRIX64;
|
|
210
|
|
211 const char* SCNdPTR = SCNd64;
|
|
212 const char* SCNiPTR = SCNi64;
|
|
213 const char* SCNoPTR = SCNo64;
|
|
214 const char* SCNuPTR = SCNu64;
|
|
215 const char* SCNxPTR = SCNx64;
|
|
216 }
|
|
217 else
|
|
218 {
|
|
219 const char* PRIdMAX = PRId32;
|
|
220 const char* PRIiMAX = PRIi32;
|
|
221 const char* PRIoMAX = PRIo32;
|
|
222 const char* PRIuMAX = PRIu32;
|
|
223 const char* PRIxMAX = PRIx32;
|
|
224 const char* PRIXMAX = PRIX32;
|
|
225
|
|
226 const char* SCNdMAX = SCNd32;
|
|
227 const char* SCNiMAX = SCNi32;
|
|
228 const char* SCNoMAX = SCNo32;
|
|
229 const char* SCNuMAX = SCNu32;
|
|
230 const char* SCNxMAX = SCNx32;
|
|
231
|
|
232 const char* PRIdPTR = PRId32;
|
|
233 const char* PRIiPTR = PRIi32;
|
|
234 const char* PRIoPTR = PRIo32;
|
|
235 const char* PRIuPTR = PRIu32;
|
|
236 const char* PRIxPTR = PRIx32;
|
|
237 const char* PRIXPTR = PRIX32;
|
|
238
|
|
239 const char* SCNdPTR = SCNd32;
|
|
240 const char* SCNiPTR = SCNi32;
|
|
241 const char* SCNoPTR = SCNo32;
|
|
242 const char* SCNuPTR = SCNu32;
|
|
243 const char* SCNxPTR = SCNx32;
|
|
244 }
|
|
245 }
|
|
246
|
|
247 intmax_t imaxabs(intmax_t j);
|
|
248 imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
|
|
249 intmax_t strtoimax(char* nptr, char** endptr, int base);
|
|
250 uintmax_t strtoumax(char* nptr, char** endptr, int base);
|
|
251 intmax_t wcstoimax(wchar_t* nptr, wchar_t** endptr, int base);
|
|
252 uintmax_t wcstoumax(wchar_t* nptr, wchar_t** endptr, int base);
|