I'm using the current Boost library on Microsoft Visual Studio 2005. I'm getting a warning on line 121 of transform_iterator.hpp, complaining "returning address of local variable or temporary". The line in question is the body of this function:
typename super_t::reference dereference() const { return m_f(*this->base()); }
My m_f supplied to the template is ordinary enough; it returns a value.
Is your m_f a function object that uses result_of protocol to declare
its return value?
It may be that while its operator() returns a value, its result<> is telling
transform_iterator that it returns a reference.
For example, if its result<> looks like this:
template <typename> struct result;
template