Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 2000-09-28 06:17:25


Just one final word or caution on stdint.h:

Although many Unix systems have an <inttypes.h> it does not correspond to
the C99 equivalent, which defines many types not required to be defined by
POSIX/Open Group standards.

Heres what OpenUnix v2 says:

************

The <inttypes.h> header includes definitions of at least the following
types:

int8_t
8-bit signed integral type.

int16_t
16-bit signed integral type.

int32_t
32-bit signed integral type.

int64_t
64-bit signed integral type.

uint8_t
8-bit unsigned integral type.

uint16_t
16-bit unsigned integral type.

uint32_t
32-bit unsigned integral type.

uint64_t
64-bit unsigned integral type.

intptr_t
Signed integral type large enough to hold any pointer.

uintptr_t
Unsigned integral type large enough to hold any pointer.

*****************

On BeOS5 for example, only these types are defined, there are no
int_leastX_t or int_fastX_t, or any integer constant expression macros.
Getting a working stdint.h on these systems may require bespoke solutions,
sadly.

- John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk