
"Maxim Yegorushkin" <e-maxim@yandex.ru> writes:
David Abrahams <dave@boost-consulting.com> wrote:
Am I missing something? Is there a way to avoid using result_type_wrapper<>? You could use boost::make_adaptable from boost/bind/make_adaptable.hpp, but there really ought to be a version of make_transform_iterator that does that for you.
Shame on me. I knew about boost/bind/make_adaptable.hpp but I thought it could only be used with a bind functor and did not give it a try.
I wonder, why doesn't boost::lambda::ret<> privide that functionality of boost::make_adaptable<>? It would certainly made sense and saved me and hopefully other people from troubles.
It can't. The result type of the lambda expression depends on its inputs. result_type is only one type. Adaptable functions are fundamentally non-polymorphic. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com