|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2005-08-31 19:19:26
Aleksey Gurtovoy wrote:
> Eric Niebler writes:
>>
>>I'm not sure what you mean. The "current code" for remove_pointer, et
>>al. for VC6 and VC7 is broken -- it does nothing.
>
>
> It does, see
> http://www.boost.org/doc/html/boost_typetraits/category.html#transform.broken_compiler_workarounds_.
>
>
>>You want to see a
>>performance comparison between code that doesn't work and code that
>>does. Why?
>
>
> Because we have code that depends on Type Traits working reliably on
> MSVC 6.5 -- and taking a reasonable amount of time to compile.
>
Ah. But the fact remains that remove_pointer et al. are indeed broken on
VC6 and VC7, and the regression tests bear this out.
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.
-- Eric Niebler 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