Macro/Typedef for the biggest integer for template parameters

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
participants (2)
-
Daryle Walker
-
Tobias Schwinger