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
>> > whereas with more complicated expression it is instantiated only n
>> > 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
>> > 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++
-- 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