"John Maddock"
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).
Yep. I recently looked at every modern compiler Boost regressions tests are run on, and every one supported long long. Most have been supporting it for years. That coupled with the fact that long long (and unsigned long long) is already standard in C and will be standard in C++0x makes it something we should support for sure, IMO. --Beman