Mercurial > projects > ldc
comparison druntime/import/stdc/stdint.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
759:d3eb054172f9 | 760:6f33b427bfd1 |
---|---|
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 stdc.stdint; | |
10 | |
11 private | |
12 { | |
13 template typify(T) | |
14 { | |
15 T typify( T val ) { return val; } | |
16 } | |
17 } | |
18 | |
19 extern (C): | |
20 | |
21 alias byte int8_t; | |
22 alias short int16_t; | |
23 alias int int32_t; | |
24 alias long int64_t; | |
25 //alias cent int128_t; | |
26 | |
27 alias ubyte uint8_t; | |
28 alias ushort uint16_t; | |
29 alias uint uint32_t; | |
30 alias ulong uint64_t; | |
31 //alias ucent uint128_t; | |
32 | |
33 alias byte int_least8_t; | |
34 alias short int_least16_t; | |
35 alias int int_least32_t; | |
36 alias long int_least64_t; | |
37 | |
38 alias ubyte uint_least8_t; | |
39 alias ushort uint_least16_t; | |
40 alias uint uint_least32_t; | |
41 alias ulong uint_least64_t; | |
42 | |
43 alias byte int_fast8_t; | |
44 alias int int_fast16_t; | |
45 alias int int_fast32_t; | |
46 alias long int_fast64_t; | |
47 | |
48 alias ubyte uint_fast8_t; | |
49 alias uint uint_fast16_t; | |
50 alias uint uint_fast32_t; | |
51 alias ulong uint_fast64_t; | |
52 | |
53 version( X86_64 ) | |
54 { | |
55 alias long intptr_t; | |
56 alias ulong uintptr_t; | |
57 } | |
58 else | |
59 { | |
60 alias int intptr_t; | |
61 alias uint uintptr_t; | |
62 } | |
63 | |
64 alias long intmax_t; | |
65 alias ulong uintmax_t; | |
66 | |
67 version( VerboseC ) | |
68 { | |
69 private import stdc.stddef; | |
70 private import stdc.signal; // for sig_atomic_t | |
71 | |
72 const int8_t INT8_MIN = int8_t.min; | |
73 const int8_t INT8_MAX = int8_t.max; | |
74 const int16_t INT16_MIN = int16_t.min; | |
75 const int16_t INT16_MAX = int16_t.max; | |
76 const int32_t INT32_MIN = int32_t.min; | |
77 const int32_t INT32_MAX = int32_t.max; | |
78 const int64_t INT64_MIN = int64_t.min; | |
79 const int64_t INT64_MAX = int64_t.max; | |
80 | |
81 const uint8_t UINT8_MAX = uint8_t.max; | |
82 const uint16_t UINT16_MAX = uint16_t.max; | |
83 const uint32_t UINT32_MAX = uint32_t.max; | |
84 const uint64_t UINT64_MAX = uint64_t.max; | |
85 | |
86 const int_least8_t INT_LEAST8_MIN = int_least8_t.min; | |
87 const int_least8_t INT_LEAST8_MAX = int_least8_t.max; | |
88 const int_least16_t INT_LEAST16_MIN = int_least16_t.min; | |
89 const int_least16_t INT_LEAST16_MAX = int_least16_t.max; | |
90 const int_least32_t INT_LEAST32_MIN = int_least32_t.min; | |
91 const int_least32_t INT_LEAST32_MAX = int_least32_t.max; | |
92 const int_least64_t INT_LEAST64_MIN = int_least64_t.min; | |
93 const int_least64_t INT_LEAST64_MAX = int_least64_t.max; | |
94 | |
95 const uint_least8_t UINT_LEAST8_MAX = uint_least8_t.max; | |
96 const uint_least16_t UINT_LEAST16_MAX = uint_least16_t.max; | |
97 const uint_least32_t UINT_LEAST32_MAX = uint_least32_t.max; | |
98 const uint_least64_t UINT_LEAST64_MAX = uint_least64_t.max; | |
99 | |
100 const int_fast8_t INT_FAST8_MIN = int_fast8_t.min; | |
101 const int_fast8_t INT_FAST8_MAX = int_fast8_t.max; | |
102 const int_fast16_t INT_FAST16_MIN = int_fast16_t.min; | |
103 const int_fast16_t INT_FAST16_MAX = int_fast16_t.max; | |
104 const int_fast32_t INT_FAST32_MIN = int_fast32_t.min; | |
105 const int_fast32_t INT_FAST32_MAX = int_fast32_t.max; | |
106 const int_fast64_t INT_FAST64_MIN = int_fast64_t.min; | |
107 const int_fast64_t INT_FAST64_MAX = int_fast64_t.max; | |
108 | |
109 const uint_fast8_t UINT_FAST8_MAX = uint_fast8_t.max; | |
110 const uint_fast16_t UINT_FAST16_MAX = uint_fast16_t.max; | |
111 const uint_fast32_t UINT_FAST32_MAX = uint_fast32_t.max; | |
112 const uint_fast64_t UINT_FAST64_MAX = uint_fast64_t.max; | |
113 | |
114 const intptr_t INTPTR_MIN = intptr_t.min; | |
115 const intptr_t INTPTR_MAX = intptr_t.max; | |
116 | |
117 const uintptr_t UINTPTR_MIN = uintptr_t.min; | |
118 const uintptr_t UINTPTR_MAX = uintptr_t.max; | |
119 | |
120 const intmax_t INTMAX_MIN = intmax_t.min; | |
121 const intmax_t INTMAX_MAX = intmax_t.max; | |
122 | |
123 const uintmax_t UINTMAX_MAX = uintmax_t.max; | |
124 | |
125 const ptrdiff_t PTRDIFF_MIN = ptrdiff_t.min; | |
126 const ptrdiff_t PTRDIFF_MAX = ptrdiff_t.max; | |
127 | |
128 const sig_atomic_t SIG_ATOMIC_MIN = sig_atomic_t.min; | |
129 const sig_atomic_t SIG_ATOMIC_MAX = sig_atomic_t.max; | |
130 | |
131 const size_t SIZE_MAX = size_t.max; | |
132 | |
133 const wchar_t WCHAR_MIN = wchar_t.min; | |
134 const wchar_t WCHAR_MAX = wchar_t.max; | |
135 | |
136 const wint_t WINT_MIN = wint_t.min; | |
137 const wint_t WINT_MAX = wint_t.max; | |
138 } | |
139 | |
140 alias typify!(int8_t) INT8_C; | |
141 alias typify!(int16_t) INT16_C; | |
142 alias typify!(int32_t) INT32_C; | |
143 alias typify!(int64_t) INT64_C; | |
144 | |
145 alias typify!(uint8_t) UINT8_C; | |
146 alias typify!(uint16_t) UINT16_C; | |
147 alias typify!(uint32_t) UINT32_C; | |
148 alias typify!(uint64_t) UINT64_C; | |
149 | |
150 alias typify!(intmax_t) INTMAX_C; | |
151 alias typify!(uintmax_t) UINTMAX_C; |