From: David Abrahams (dave_at_[hidden])
Date: 2005-09-01 09:37:16
Peder Holt <peder.holt_at_[hidden]> writes:
> On 9/1/05, David Abrahams <dave_at_[hidden]> wrote:
>> Eric Niebler <eric_at_[hidden]> writes:
>> > Ah. But the fact remains that remove_pointer et al. are indeed broken on
>> > VC6 and VC7, and the regression tests bear this out.
>> > http://tinyurl.com/8fs7w
>> > IMO, the best path is to preserve the meaning of
>> > BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION for compilers without
>> > PTS. That is, it still defines full specializations of the type traits
>> > templates. But the typeof implementation should be what the primary
>> > template uses for compilers without PTS. That way, everything that is
>> > working now, keeps working with no change in performance.
>> I think it would better to do some actual speed testing there. After
>> all, using the typeof hack *could* turn out to be much faster and use
>> fewer resources than doing it the other way.
>> It's a pretty easy test.
> I don't think using the typeof library directly is the best idea. When
> using typeof, you represent each type by a number, limiting you to
> ~1000 types.
I hope that's false, but in any case, you've completely missed the
point. There's a bugfeature in vc <= 7.1 that allows typeof to be
implemented without any such limitation. No numerical representation
is ever generated.
-- 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