// Written in the D programming language. | |

/** | |

* | |

D constrains integral types to specific sizes. But efficiency | |

of different sizes varies from machine to machine, | |

pointer sizes vary, and the maximum integer size varies. | |

<b>stdint</b> offers a portable way of trading off size | |

vs efficiency, in a manner compatible with the <tt>stdint.h</tt> | |

definitions in C. | |

In the table below, the $(B exact alias)es are types of exactly the | |

specified number of bits. | |

The $(B at least alias)es are at least the specified number of bits | |

large, and can be larger. | |

The $(B fast alias)es are the fastest integral type supported by the | |

processor that is at least as wide as the specified number of bits. | |

The aliases are: | |

$(ATABLE $(TR | |

$(TH Exact Alias) | |

$(TH Description) | |

$(TH At Least Alias) | |

$(TH Description) | |

$(TH Fast Alias) | |

$(TH Description) | |

)$(TR | |

$(TD int8_t) | |

$(TD exactly 8 bits signed) | |

$(TD int_least8_t) | |

$(TD at least 8 bits signed) | |

$(TD int_fast8_t) | |

$(TD fast 8 bits signed) | |

)$(TR | |

$(TD uint8_t) | |

$(TD exactly 8 bits unsigned) | |

$(TD uint_least8_t) | |

$(TD at least 8 bits unsigned) | |

$(TD uint_fast8_t) | |

$(TD fast 8 bits unsigned) | |

)$(TR | |

$(TD int16_t) | |

$(TD exactly 16 bits signed) | |

$(TD int_least16_t) | |

$(TD at least 16 bits signed) | |

$(TD int_fast16_t) | |

$(TD fast 16 bits signed) | |

)$(TR | |

$(TD uint16_t) | |

$(TD exactly 16 bits unsigned) | |

$(TD uint_least16_t) | |

$(TD at least 16 bits unsigned) | |

$(TD uint_fast16_t) | |

$(TD fast 16 bits unsigned) | |

)$(TR | |

$(TD int32_t) | |

$(TD exactly 32 bits signed) | |

$(TD int_least32_t) | |

$(TD at least 32 bits signed) | |

$(TD int_fast32_t) | |

$(TD fast 32 bits signed) | |

)$(TR | |

$(TD uint32_t) | |

$(TD exactly 32 bits unsigned) | |

$(TD uint_least32_t) | |

$(TD at least 32 bits unsigned) | |

$(TD uint_fast32_t) | |

$(TD fast 32 bits unsigned) | |

)$(TR | |

$(TD int64_t) | |

$(TD exactly 64 bits signed) | |

$(TD int_least64_t) | |

$(TD at least 64 bits signed) | |

$(TD int_fast64_t) | |

$(TD fast 64 bits signed) | |

)$(TR | |

$(TD uint64_t) | |

$(TD exactly 64 bits unsigned) | |

$(TD uint_least64_t) | |

$(TD at least 64 bits unsigned) | |

$(TD uint_fast64_t) | |

$(TD fast 64 bits unsigned) | |

)) | |

The ptr aliases are integral types guaranteed to be large enough | |

to hold a pointer without losing bits: | |

$(ATABLE $(TR | |

$(TH Alias) | |

$(TH Description) | |

)$(TR | |

$(TD intptr_t) | |

$(TD signed integral type large enough to hold a pointer) | |

)$(TR | |

$(TD uintptr_t) | |

$(TD unsigned integral type large enough to hold a pointer) | |

)) | |

The max aliases are the largest integral types: | |

$(ATABLE $(TR | |

$(TH Alias) | |

$(TH Description) | |

)$(TR | |

$(TD intmax_t) | |

$(TD the largest signed integral type) | |

)$(TR | |

$(TD uintmax_t) | |

$(TD the largest unsigned integral type) | |

)) | |

* Macros: | |

* ATABLE=<table border="1" cellspacing="0" cellpadding="5">$0</table> | |

* | |

* Copyright: Copyright Digital Mars 2000 - 2009. | |

* License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0). | |

* Authors: $(HTTP digitalmars.com, Walter Bright) | |

* Source: $(PHOBOSSRC std/_stdint.d) | |

*/ | |

/* Copyright Digital Mars 2000 - 2009. | |

* Distributed under the Boost Software License, Version 1.0. | |

* (See accompanying file LICENSE_1_0.txt or copy at | |

* http://www.boost.org/LICENSE_1_0.txt) | |

*/ | |

module std.stdint; | |

public import core.stdc.stdint; |