Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2004-08-18 06:43:53

> In testing the serialization library it has come to my attention that at
> least the two compilers on 64 bit platforms use something like
> typedef long int int64_t;
> typedef long unsigned int uint64_t;
> This is causing me some problems.
> At the same time some compilers have
> typedef short int wchar_t;
> This would cause similar problems for me except for the fact that we have
> So I can skip over them at the preprocessor level.
> Is there any reason we can't add to the config files?

A bad choice of names, the 64-bit integer types definitely are intrinsic in
these cases, it's just that they're not the "long long" type (which is
actually permitted to have more than 64-bits).

One of the issues here is that these types may be defined by the platform
headers rather than by us - in fact as more compilers ship with their own
<stdint.h> this is more likely to be the case, so we don't really have any
way of knowing what the underlying type of int64_t is.

Normally, folks will either:

Specialise/overload for all built-in types (i.e. not int64_t).


use a specific width type (int64_t or whatever) as the sole

Can this work for you?


Boost list run by bdawes at, gregod at, cpdaniel at, john at