
"Arkadiy Vertleyb" <vertleyb@hotmail.com> writes:
"David Abrahams" <dave@boost-consulting.com> wrote
"Arkadiy Vertleyb" <vertleyb@hotmail.com> writes:
"David Abrahams" <dave@boost-consulting.com> 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