Hi, Does spirit karma handle boost.range adaptors correctly? The following code compiles but fails at run-time as the end of the range is not seen by karma: --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<-- #include <boost/range/adaptors.hpp> #include <boost/assign.hpp> #include <iostream> #include <vector> #include <boost/spirit/include/karma.hpp> int main(int argc, const char* argv[]) { using namespace boost::adaptors; using namespace boost::assign; std::vector<int> input; input += 1,2,3,4,5,6,7,8,9,10; std::ostream_iterator<char> os( std::cout ); using boost::spirit::karma::int_; using boost::spirit::karma::generate_delimited; using boost::spirit::ascii::space; //generate_delimited( os, int_ % ',', space, // input | strided(2) ); // <- works generate_delimited( os, int_ % ',', space, input | copied(1,6) | strided(2) ); std::cout << std::endl; return 0; } --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<-- The tests were done with boost 1.45. Regards, Ravi