Boost Users :
Subject: Re: [Boost-users] Boost.Spirit Karma: Alternative generator
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2016-03-01 09:51:24
> I am construction karma::rule<OutputIterator, std::string()> which I
> would like to be either a string or quoted string if the string contains
> Now I think that the rule should be something like:
> rule = (&true[...] << string) | (lit("\"") << string << lit("\""));
> but I've failed to write proper semantic action. How could I obtain
> std::string object reference to write something like:
> (obj.find(" ") == std::string::npos)
> ? Or maybe is there a better way to do the same?
Please keep in mind that semantic actions are executed 'lazily'. That means
that you need to use a function object which executes the semantic code in
its operator()(). The easiest way is to use phoenix::function for that.
Please see the corresponding documentation.
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