|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-02-16 19:24:36
Daniel Frey <d.frey_at_[hidden]> writes:
>> That's me. I think the problem is that otherwise is_convertible gets
>> instantiated on the type, and at the time the comment was written we
>> couldn't instantiate is_convertible on noncopyable types because it
>> required an accessible copy ctor. I think we have a new version of
>> is_convertible which doesn't require that, so the test may be obsolete.
>
> *That* explains a lot to me. We should then fix this comment
First we'd better be sure that is_convertible actually works for
noncopyable types on all compilers.
> and the stuff that depends on it. If I would have known that before,
> I think it would have been much easier for me to accept that
> is_class's workaround is not something broken in any way, it's just
> slower, depends on more parts and is hard to understand.
I really don't see how my comment could have led you to believe that
is_class was broken.
> But I was under the impression that is_class's workaround must be
> broken in some way - although I couldn't see it. (Yes, I shouldn't
> have claimed what is broken from just reading code - I should have
> at least tried it out). I think I should not assume such things in
> the future but ask instead...
I guess so, or think harder about the comments you /do/ read.
> OK, to sum it up: We have two implementation that work. The "real"
> detection is preferable for reasons of speed, readablility and
> dependencies. The other version is good because all compilers eat it.
> What would be an improvement in this case? I don't think that it makes
> sense to add more and more #ifdef's just for the sake of
> compile-speed.
Others (especially those using older EDGs) may disagree with you.
> Anyone who wants to work with the code should be able to understand
> all implementations, thus I think it's only worth to make more
> compiler accept the "real" implementation if we can manage to merge
> it with the current implementation - two implementations is enough.
Not sure what you're proposing to do exactly, but it sounds pretty
much OK to me.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk