Header
boost/cstdint.hpp

The header <boost/cstdint.hpp>
provides the typedef's useful for
writing portable code that requires certain integer widths. All typedef's are in namespace boost.

The specifications are based on the ISO/IEC 9899:1999 C Language standard
header <stdint.h>. The 64-bit types required by the C standard are not
required in the boost header, and may not be supplied in all implementations,
because long long is not [yet] included in the C++ standard.

Exact-width integer types

The typedef int#_t, with # replaced by the width, designates a
signed integer type of exactly # bits; int8_t denotes an 8-bit
signed integer type. Similarly, the typedef uint#_t
designates and unsigned integer type of exactly # bits.

These types are optional. However, if an implementation provides integer
types with widths of 8, 16, 32, or 64 bits, it shall define the corresponding
typedef names.

Minimum-width integer types

The typedef int_least#_t, with # replaced by the width,
designates a signed integer type with a width of at least # bits, such that no
signed integer type with lesser size has at least the specified width. Thus, int_least32_t
denotes a signed integer type with a width of at least 32 bits. Similarly, the
typedef name uint_least#_t designates an unsigned integer type with
a width of at least # bits, such that no unsigned integer type with lesser size
has at least the specified width.

Required minimum-width integer types:

int_least8_t

int_least16_t

int_least32_t

uint_least8_t

uint_least16_t

uint_least32_t

All other minimum-width integer types are optional.

Fastest minimum-width integer types

The typedef int_fast#_t, with # replaced by the width,
designates the fastest signed integer type with a width of at least # bits.
Similarly, the typedef name uint_fast#_t designates the fastest
unsigned integer type with a width of at least # bits.

There is no guarantee that these types are fastest for all purposes. In
any case, however, they satisfy the signedness and width requirements.

Required fastest minimum-width integer types:

int_fast8_t

int_fast16_t

int_fast32_t

uint_fast8_t

uint_fast16_t

uint_fast32_t

All other fastest minimum-width integer types are optional.

Greatest-width integer types

The typedef intmax_t designates a signed integer type capable of
representing any value of any signed integer type.

The typedef uintmax_t designates an unsigned integer type
capable of representing any value of any unsigned integer type.