
4 Feb
2013
4 Feb
'13
6:05 p.m.
Hi there, is there a general template for calculating the max value by the number of bits. GIL right now uses the following template: template <int K> struct unsigned_integral_max_value<packed_channel_value<K> > : public mpl::integral_c<typename packed_channel_value<K>::integer_t, (1<<K)-1> {}; This code gives me some compiler errors with clang 3.2. for K = 31, for instance. Ideally I would like to take K up to 64. A small fix gets me up to K = 63 template <int K> struct unsigned_integral_max_value<packed_channel_value<K> > : public mpl::integral_c<typename packed_channel_value<K>::integer_t, (uint64_t(1)<<K)-1> {}; Is there a better way in boost? Thanks, Christian