[Sorry that I'm very late. I'm still not caught up.]
On 3/6/06 7:57 AM, "Wu Yinghui, Freddie"
Just a quick question, does Boost integer traits classes support 64-bit integral types? I didn't seem to be able to get the following code compile:
#include
#include typedef typename boost::int_t<64> int_type; typedef boost::high_bit_mask_t<63> high_bit_type; I know that I can use boost::int64_t, but the problem is that the "64" here is not fixed in my code. It is dependent on some other parameters, so it could be 32 too.
Am I missing anything?
On 3/6/06 12:53 PM, "John Maddock"
Apparently not: looking at the code there is no provision for use of long long when it's available. Daryle, fancy fixing this one?
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)? -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com