Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2006-03-18 14:19:01


> Built-in extended types beyond "(unsigned) long" are not currently
> supported. So 64-bit numbers are supported only if "long" itself is
> at least 64 bits. The rationale for limiting the types was that
> types from the "int_t" template should be usable as value-based
> template parameters, which weren't necessarily supported for the
> extended built-in integer types. Can extended types be used
> currently for value-based template parameters on any
> platforms/compilers/etc.? Should we drop that idea and only worry
> about run-time compatibility? Should we have two kinds of templates
> (for compile- or run-time compatibility)?

There used to be problems with MS's __int64 not being usable in compile time
situations, but I believe nowadays long long is useable pretty much
everywhere on all compilers (including recent VC++ releases). In any case
better to fail later (because the 64-bit type is used in an unsupported
context) than to fail early due to integer traits not supporting the type.

John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net