Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2013. The current version is 1.89.0.
The no_skip[]
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
lexeme
directive.
// forwards to <boost/spirit/home/qi/directive/no_skip.hpp> #include <boost/spirit/include/qi_no_skip.hpp>
Also, see Include Structure.
|
Name |
|---|
|
|
Notation
a
A Parser.
Semantics of an expression is defined only where it differs from, or
is not defined in UnaryParser.
|
Expression |
Semantics |
|---|---|
|
|
Turns off white space skipping for the subject parser, |
See Compound Attribute Notation.
|
Expression |
Attribute |
|---|---|
|
|
a: A --> no_skip[a]: A a: Unused --> no_skip[a]: Unused
|
The complexity is defined by the complexity of the subject parser,
a
![]() |
Note |
|---|---|
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 no_skip[]:
The use of no_skip here will prevent skipping of whitespace in front
and in between the characters of the string '
abc '.
std::string str; test_phrase_parser_attr("' abc '", '\'' >> no_skip[+~char_('\'')] >> '\'', str); std::cout << str << std::endl; // will output: > abc <