|
Boost : |
From: Howard Hinnant (hinnant_at_[hidden])
Date: 2003-02-14 19:17:19
On Friday, February 14, 2003, at 06:33 PM, Daniel Frey wrote:
> A last general question: It seems to me that the boost type-traits are
> a
> mixture of two very different concepts: One concept is that of a
> classic
> "utility library". This means, that it provides things I can use when I
> like, but they don't affect my code in general. The other concept is
> that
> of a "framework". In order to use is_union, has_* and some other
> functions, I have to flag my classes, that means I have to write my
> code
> in a "boost-friendly" way in order to make it work. I think that it
> might
> be worth to make a very clear distinction between these two parts.
> Comments?
In my opinion, the intent from day one was to view the type traits lib
as a utility library, and not a framework. The fact that we couldn't
make is_union work was viewed as a failure in the implementation that
would probably need compiler support to make it work right. Having you
specialize your class for is_union was viewed as a workaround for the
failing of the implementation, not as a well designed interface.
I agree with you that this is an important distinction to make. As
proposed to the standards committee, the interface needs to be very
clear.
-Howard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk