Mercurial > projects > ldc
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); |