Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-03-19 12:56:05


From: "Aleksey Gurtovoy" <alexy_at_[hidden]>

> Peter Dimov wrote:
>
> > Very difficult. I can't do the general case without typeof,
> > or remove_cv and remove_reference
> > (I've tried several times.)
>
> FYI, all 'boost::type_traits' library's type transformation templates
> (including 'remove_cv' and 'remove_reference') can be made to work even on
> compilers without partial class template specialization support; by
default
> they do work for all fundamental types, and all their 1st and 2nd rank
> cv-[un]qualified derivative pointer types, e.g.

[...]

> and by writing something like:
>
> struct my;
> BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(my);
>
> you can also make the above code compile with any user-defined type in
place
> of 'int'.

Good work! I'll take another look at the code.

A working iterator_traits template hidden somewhere by any chance? :-)
(That's for operator*).

--
Peter Dimov
Multi Media Ltd.
PS: Gary, do you insist on var() and constant()? Don't lv() and rv() sound
better? :-)

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