aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src/std/stdint.d
diff options
context:
space:
mode:
Diffstat (limited to 'libphobos/src/std/stdint.d')
-rw-r--r--libphobos/src/std/stdint.d131
1 files changed, 131 insertions, 0 deletions
diff --git a/libphobos/src/std/stdint.d b/libphobos/src/std/stdint.d
new file mode 100644
index 0000000..b4a5ff9
--- /dev/null
+++ b/libphobos/src/std/stdint.d
@@ -0,0 +1,131 @@
+// 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;