Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-12-06 23:40:48


----- Original Message -----
From: "Jesse Jones" <jejones_at_[hidden]>

> I looked at cast.hpp and it seems to work OK with CW 6 on a Mac (although
> the test spewed out more verbiage than seems neccesary and there's that
> weird line that has the "see if compiler generates warning" comment).
>
> polymorphic_cast and polymorphic_downcast are rather trivial and seem to
> mostly be rarely useful so I'm inclined to say that they should not be
part
> of boost.

I hope we don't make that decision, as it would require me and my colleagues
to change quite a lot of working code which depends on polymorphic_downcast.
I hope that is sufficient to speak for the utility of these functions. As to
triviality, the same could be said for std::pair<>. Sometimes a trivial
construct has great advantages in expressive power.

> numeric_cast OTOH is very useful and not quite as trivial. I use something
> like it in my own code. The only question I have is whether it should
throw
> or assert on failure. In my own code a failure almost always indicates a
> programmer error so I'd prefer the assert.

That's an interesting point of view. Currently, the boost python library
depends on having a throwing version. The asserting version can be built on
the throwing version, but not vice-versa, so I hope we'll keep the one that
throws.

-Dave


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