]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/x3/no_skip.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2015 Joel de Guzman
3 Copyright (c) 2013 Agustin Berge
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 =============================================================================*/
8 #include <boost/detail/lightweight_test.hpp>
9 #include <boost/spirit/home/x3.hpp>
17 using spirit_test::test
;
18 using spirit_test::test_attr
;
19 using boost::spirit::x3::ascii::space
;
20 using boost::spirit::x3::ascii::space_type
;
21 using boost::spirit::x3::ascii::char_
;
22 using boost::spirit::x3::lexeme
;
23 using boost::spirit::x3::no_skip
;
25 BOOST_SPIRIT_ASSERT_CONSTEXPR_CTORS(no_skip
['x']);
27 // without skipping no_skip is equivalent to lexeme
30 BOOST_TEST((test_attr("' abc '", '\'' >> no_skip
[+~char_('\'')] >> '\'', str
)));
31 BOOST_TEST(str
== " abc ");
35 BOOST_TEST((test_attr("' abc '", '\'' >> lexeme
[+~char_('\'')] >> '\'', str
)));
36 BOOST_TEST(str
== " abc ");
39 // with skipping, no_skip allows to match a leading skipper
42 BOOST_TEST((test_attr("' abc '", '\'' >> no_skip
[+~char_('\'')] >> '\'', str
, space
)));
43 BOOST_TEST(str
== " abc ");
47 BOOST_TEST((test_attr("' abc '", '\'' >> lexeme
[+~char_('\'')] >> '\'', str
, space
)));
48 BOOST_TEST(str
== "abc ");
51 return boost::report_errors();