![]() |
Home | Libraries | People | FAQ | More |
Header / Docs | Contents | Use |
<boost/cstdint.hpp> documentation |
Typedef's based on the 1999 C Standard header <stdint.h> , wrapped in namespace boost.
This implementation may #include the compiler
supplied <stdint.h> , if present. |
Supplies typedefs for standard integer types such as int32_t or uint_least16_t .
Use in preference to <stdint.h>
for enhanced portability. Furthermore, all names are safely placed in the boost namespace. |
<boost/integer_traits.hpp> documentation |
Template class boost::integer_traits , derived from std::numeric_limits .
Adds const_min and const_max members. |
Use to obtain the characteristics of a known integer type. |
<boost/integer.hpp> documentation |
Templates for integer type selection based on properties such as maximum value or number of bits. | Use to select the type an integer when some property such as maximum value or number of bits is known. Useful for generic programming. |
The organization of boost integer headers and classes is designed to take
advantage of <stdint.h>
types from the 1999 C standard
without resorting to undefined behavior in terms of
the 1998 C++ standard. The header <boost/cstdint.hpp>
makes the standard integer types safely available in namespace boost without placing any names in namespace std. As always, the intension is to complement rather than
compete with the C++ Standard Library. Should some future C++ standard
include <stdint.h>
and <cstdint>
, then <boost/cstdint.hpp>
will continue to function, but will become redundant and may be safely deprecated.
Because these are boost headers, their names conform to boost header naming conventions rather than C++ Standard Library header naming conventions.
As an implementation artifact, certain C <limits.h> macro names may possibly be visible to users of <boost/cstdint.hpp>. Don't use these macros; they are not part of any Boost specified interface. Use boost:: integer_traits<> or std::numeric_limits<> instead.
As another implementation artifact, certain C
<stdint.h>
typedef names may possibly be visible in the
global namespace to users of <boost/cstdint.hpp>
.
Don't use these names, they are not part of any Boost specified
interface. Use the respective names in namespace boost
instead.
Revised: 10 Feb 2001