
Hi folks, Its that time of year again when type traits gets a bit of maintenance, and as some of you will know, almost any change is guaranteed to break something, so here are the changes just in case: 1) The existing traits classes have been modified to inherit from boost::integral_constant, as per TR1. I've done everything I can to retain MPL compatibility, and tested every way I can think of, but you never know something may go wrong somewhere... I've also had to defer this change for VC6 in one case (couldn't get variant to compile unless alignment_of inherited from mpl::size_t; even using mpl::integral_c as a base just made VC6 ICE all the time). 2) The addition of true_type/false_type meant a minor change to boost/pending/ct_if.hpp. 3) New traits classes added: aligned_storage, extent, has_virtual_destructor, is_member_object_pointer, is_signed, is_unsigned, rank, remove_all_extents, all as per the TR. There is just about an outside chance that old and broken compilers will be unable to parse one of these when including boost/type_traits.hpp, but it's pretty unlikely. 4) Renamed: remove_bounds -> remove_extent is_base_and_derived -> is_base_of is_float -> is_floating_point To bring those names into line with the TR, the old names all remain as well for backwards compatibility. 5) Docs: these really need rewriting (Boostbook?), will do when I get a chance. Regards, John Maddock.
participants (1)
-
John Maddock