
Hi Neil Another one for you.... This may not be entirely due to your lib, but it is a fairly obvious use-case. This code works fine.... #include <iostream> #include <iterator> #include <list> #include "boost/range.hpp" #include "boost/range/istream_range.hpp" #include "boost/range/algorithm.hpp" #include "boost/range/adaptors.hpp" #include "boost/lambda/lambda.hpp" using namespace boost; using namespace boost :: lambda; int times_two( int i ) { return ( _1 * 2 )( i ); } int main( ) { int vals[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; copy( vals | adaptors :: transformed( times_two ), std :: ostream_iterator< int >( std :: cout, "\n" ) ); return 0; } But this code doesn't.... #include <iostream> #include <iterator> #include <list> #include "boost/range.hpp" #include "boost/range/istream_range.hpp" #include "boost/range/algorithm.hpp" #include "boost/range/adaptors.hpp" #include "boost/lambda/lambda.hpp" using namespace boost; using namespace boost :: lambda; int times_two( int i ) { return ( _1 * 2 )( i ); } int main( ) { int vals[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; copy( vals | adaptors :: transformed( _1 * 2 ), std :: ostream_iterator< int >( std :: cout, "\n" ) ); return 0; } I have sent you the full error privately as Boost bounced the file due to it being too large! Cheers, Rob.