
Andy Little writes:
The boost type_traits integral constant is derived from mpl::integral_c which has a tag type member, without which boost:::integral_constant wouldnt work with mpl types such as equal_to. The std version doesnt specify the tag, nor does the boost type_traits version in its documentation. Without the tag, boost::integral_constant would not work with mpl types such as equal_to as demonstrated in another mail in this thread. Therefore changing from boost::integral_constant to std::integral_constant will break code that uses mpl. Maybe its not important, but the innocent std:: integral_constant will appear to be bug ridden.
Ideally, I'd like to link the '::tag' requirement with the mixed-type arithmetic operations (for which the tag was introduced) and move it out of the Integral Constant requirements into a corresponding concept. Either way, making the above work is not a major issue. -- Aleksey Gurtovoy MetaCommunications Engineering