|
Boost Users : |
From: Rodrigo de Salvo Braz (braz_at_[hidden])
Date: 2004-11-22 05:15:44
Hello,
I am trying to use transform_iterator with a lambda functor, but the
compiler complains that the lambda functor does not contain a type called
'result_type', which the transform_iterator requires.
I would have expected lambda functors to have this type. Any ideas on why
it doesn't?
Here is the code line causing the problem:
return make_transform_iterator(attributes.begin(), bind(&pair<const AttributeType, string>::second, _1));
where attributes is of type map<AttributeType, string>.
Here is the error message:
/usr/local/include/boost-1_32/boost/iterator/transform_iterator.hpp:43: no
type
named `result_type' in `class
boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::action<2,
boost::lambda::function_action<2, boost::lambda::detail::unspecified>
>,
boost::tuples::tuple<std::string std::pair<const AttributeType,
std::string>::*, const
boost::lambda::lambda_functor<boost::lambda::placeholder<1> >,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >'
Thanks,
Rodrigo
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net