
19 Sep
2006
19 Sep
'06
4:34 p.m.
The extension docs show: template <typename Iterator> typename result_of::deref<Iterator>::type deref(Iterator const& i) { typename result_of::deref<Iterator>::type result = extension::deref_impl<typename Iterator::ftag>:: template apply<Iterator>::call(i); return result; } Isn't that more complicated than necessary and likely to inhibit RVO? What about simply: template <typename Iterator> typename result_of::deref<Iterator>::type deref(Iterator const& i) { return extension::deref_impl<typename Iterator::ftag>:: template apply<Iterator>::call(i); } ?? -- Dave Abrahams Boost Consulting www.boost-consulting.com