![]() |
Boost : |
From: Daryle Walker (darylew_at_[hidden])
Date: 2007-08-31 19:51:28
We've talked about this problem off and on for years now, and I'm
wondering if we can finally solve it. Many compilers supply built-in
integer types beyond (unsigned) long int, but someone told me that
there's no guarantee that those super-long types are suitable for use in
a value-based template parameter. I'm wondering if we can develop
typedefs, maybe in "boost/cstdint.hpp", that describe the largest
suitable signed and unsigned built-in integer types that can be used as
value-based template parameters. On basically-standard compilers, this
would be "unsigned long" and "long". I'm thinking that we could default
to boost::[u]intmax_t, and #case it for particular compilers after they
choke on not being able to use "long long" or "__int64_t" in a template.
(We could test in advance to minimize hardship.)
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk