...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
directive turns off white space skipping. The difference to
lexeme is that it does not do
pre-skipping in any case. Otherwise it is completely equivalent to the
// forwards to <boost/spirit/home/qi/directive/no_skip.hpp> #include <boost/spirit/include/qi_no_skip.hpp>
Also, see Include Structure.
Semantics of an expression is defined only where it differs from, or
is not defined in
Turns off white space skipping for the subject parser,
See Compound Attribute Notation.
a: A --> no_skip[a]: A a: Unused --> no_skip[a]: Unused
The complexity is defined by the complexity of the subject parser,
The test harness for the example(s) below is presented in the Basics Examples section.
Some using declarations:
using boost::spirit::qi::no_skip; using boost::spirit::qi::char_;
Simple usage of
The use of no_skip here will prevent skipping of whitespace in front
and in between the characters of the string
std::string str; test_phrase_parser_attr("' abc '", '\'' >> no_skip[+~char_('\'')] >> '\'', str); std::cout << str << std::endl; // will output: > abc <