comparison druntime/import/core/stdc/inttypes.d @ 1458:e0b2d67cfe7c

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