1 // Written in the D programming language.
2 
3 /**
4  *
5     D constrains integral types to specific sizes. But efficiency
6     of different sizes varies from machine to machine,
7     pointer sizes vary, and the maximum integer size varies.
8     <b>stdint</b> offers a portable way of trading off size
9     vs efficiency, in a manner compatible with the <tt>stdint.h</tt>
10     definitions in C.
11 
12     In the table below, the $(B exact alias)es are types of exactly the
13     specified number of bits.
14     The $(B at least alias)es are at least the specified number of bits
15     large, and can be larger.
16     The $(B fast alias)es are the fastest integral type supported by the
17     processor that is at least as wide as the specified number of bits.
18 
19     The aliases are:
20 
21     $(ATABLE $(TR
22     $(TH Exact Alias)
23     $(TH Description)
24     $(TH At Least Alias)
25     $(TH Description)
26     $(TH Fast Alias)
27     $(TH Description)
28     )$(TR
29     $(TD int8_t)
30     $(TD exactly 8 bits signed)
31     $(TD int_least8_t)
32     $(TD at least 8 bits signed)
33     $(TD int_fast8_t)
34     $(TD fast 8 bits signed)
35     )$(TR
36     $(TD uint8_t)
37     $(TD exactly 8 bits unsigned)
38     $(TD uint_least8_t)
39     $(TD at least 8 bits unsigned)
40     $(TD uint_fast8_t)
41     $(TD fast 8 bits unsigned)
42 
43     )$(TR
44     $(TD int16_t)
45     $(TD exactly 16 bits signed)
46     $(TD int_least16_t)
47     $(TD at least 16 bits signed)
48     $(TD int_fast16_t)
49     $(TD fast 16 bits signed)
50     )$(TR
51     $(TD uint16_t)
52     $(TD exactly 16 bits unsigned)
53     $(TD uint_least16_t)
54     $(TD at least 16 bits unsigned)
55     $(TD uint_fast16_t)
56     $(TD fast 16 bits unsigned)
57 
58     )$(TR
59     $(TD int32_t)
60     $(TD exactly 32 bits signed)
61     $(TD int_least32_t)
62     $(TD at least 32 bits signed)
63     $(TD int_fast32_t)
64     $(TD fast 32 bits signed)
65     )$(TR
66     $(TD uint32_t)
67     $(TD exactly 32 bits unsigned)
68     $(TD uint_least32_t)
69     $(TD at least 32 bits unsigned)
70     $(TD uint_fast32_t)
71     $(TD fast 32 bits unsigned)
72 
73     )$(TR
74     $(TD int64_t)
75     $(TD exactly 64 bits signed)
76     $(TD int_least64_t)
77     $(TD at least 64 bits signed)
78     $(TD int_fast64_t)
79     $(TD fast 64 bits signed)
80     )$(TR
81     $(TD uint64_t)
82     $(TD exactly 64 bits unsigned)
83     $(TD uint_least64_t)
84     $(TD at least 64 bits unsigned)
85     $(TD uint_fast64_t)
86     $(TD fast 64 bits unsigned)
87     ))
88 
89     The ptr aliases are integral types guaranteed to be large enough
90     to hold a pointer without losing bits:
91 
92     $(ATABLE $(TR
93     $(TH Alias)
94     $(TH Description)
95     )$(TR
96     $(TD intptr_t)
97     $(TD signed integral type large enough to hold a pointer)
98     )$(TR
99     $(TD uintptr_t)
100     $(TD unsigned integral type large enough to hold a pointer)
101     ))
102 
103     The max aliases are the largest integral types:
104 
105     $(ATABLE $(TR
106     $(TH Alias)
107     $(TH Description)
108     )$(TR
109     $(TD intmax_t)
110     $(TD the largest signed integral type)
111     )$(TR
112     $(TD uintmax_t)
113     $(TD the largest unsigned integral type)
114     ))
115 
116  * Macros:
117  *  ATABLE=<table border="1" cellspacing="0" cellpadding="5">$0</table>
118  *
119  * Copyright: Copyright Digital Mars 2000 - 2009.
120  * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
121  * Authors:   $(HTTP digitalmars.com, Walter Bright)
122  * Source:    $(PHOBOSSRC std/_stdint.d)
123  */
124 /*          Copyright Digital Mars 2000 - 2009.
125  * Distributed under the Boost Software License, Version 1.0.
126  *    (See accompanying file LICENSE_1_0.txt or copy at
127  *          http://www.boost.org/LICENSE_1_0.txt)
128  */
129 module std.stdint;
130 
131 public import core.stdc.stdint;
132