mirror of
https://github.com/dlang/phobos.git
synced 2025-04-26 13:10:35 +03:00
131 lines
3.5 KiB
D
131 lines
3.5 KiB
D
// 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 The D Language Foundation 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 The D Language Foundation 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;
|