
That also gave me compilation errors: ..\Dependency\boost\boost/spirit/home/karma/generate.hpp(72) : error C2664: 'boost::mpl::assertion_failed' : cannot convert parameter 1 from 'boost::mpl::failed ************(__thiscall boost::spirit::karma::generate::error_invalid_expression::* ***********)(Expr)' to 'boost::mpl::assert<false>::type' ..\Dependency\boost\boost/spirit/home/karma/generate.hpp(76) : error C2039: 'generate' : is not a member of 'boost::proto::exprns_::expr<Tag,Args,Arity>' Below, please find a minimal example. Thank you for your continued help! Best, Dee --- #include <vector> #include <string> #include <iostream> using namespace std; #include <boost/spirit/include/karma.hpp> namespace bk = boost::spirit::karma; namespace ba = boost::spirit::ascii; int main() { vector<string> vsTest; vsTest.push_back("test"); vsTest.push_back("t2"); vsTest.push_back("t3"); bk::generate(ostream_iterator<char>(cout), "Command line options not recognized:\n" << (" \"" << ba::string % ("\"" << bk::eol)) << "\"" << bk::eol, vsTest); bk::generate(ostream_iterator<char>(cout), "Command line options not recognized:\n" << ('\"' << ba::string << '\"') % bk::eol << bk::eol, vsTest); return 0; } --- On Mon, Aug 24, 2009 at 1:01 PM, OvermindDL1<overminddl1@gmail.com> wrote:
On Sun, Aug 23, 2009 at 10:42 PM, Diederick C. Niehorster<dcnieho@gmail.com> wrote:
Er, do this I mean (adding spacing to help clarify things for you to): bk::generate(ostream_iterator<char>(cout), "Command line options not recognized:\n" << (" \"" << ba::string << '\"') % bk::eol ,vsUnrecog);
To describe it, it first prints out a string, then the % operator has two part, the left side ('\"' << ba::string << '\"'), and the right bk::eol, meaning that the left side is run for each element in a list separated by returns.
Hi OvermindL1,
That is indeed exactly what I'm looking for, please also see my reply to your previous message. I want to enclose every item in the list with quotes and print them on separate lines.
If that did not work, I am surprised, perhaps hartmut could see why, he is the expert here. :)
Try: bk::generate(ostream_iterator<char>(cout), "Command line options not recognized:\n" << (" \"" << ba::string << '\"') >> *("\n \"" << ba::string << '\"') ,vsUnrecog);
More verbose, but it should do the same thing as the top one, see if it works, I am curious why the previous one did not know, I may have to try it myself... _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users