Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2005-01-30 11:03:48


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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk