Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-21 21:20:01


"Arkadiy Vertleyb" <vertleyb_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote
>
>> "Arkadiy Vertleyb" <vertleyb_at_[hidden]> writes:
>>
>> > "David Abrahams" <dave_at_[hidden]> wrote
>> >
>> >> I believe I have substantially simplified the implementation of typeof
>> >> and fixed the vc8 compatibility problems. See the enclosed
>> >> typeof_impl.hpp
>> >
>> > Right. That's exactly the simplification I meant in my previous post.
>> > Unfortunately it means at() is instantiated BOOST_TYPEOF_LIMIT_SIZE
> times,
>> > whereas with more complicated expression it is instantiated only n
> times,
>> > where n is the actual size of the encoded vector. I introduced this
>> > complexity about half a year ago, and it cut the time of my tests more
> than
>> > in half...
>>
>> Okay, how about the one enclosed here, then?
>
> Now you have both size() and size_<> instantiated LIMIT_SIZE times ;-)

According to Eric, you need something like size_<> to workaround vc++
bugs, though. Okay, let me try one more. I think this one gets close
to the minimal number of instantiations required to work around VC++
bugs.



-- 
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