]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/qi/raw.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2010 Joel de Guzman
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 =============================================================================*/
7 #include <boost/spirit/include/qi_raw.hpp>
9 #include <boost/spirit/include/qi_char.hpp>
10 #include <boost/spirit/include/qi_operator.hpp>
11 #include <boost/spirit/include/qi_auxiliary.hpp>
20 using spirit_test::test
;
21 using spirit_test::test_attr
;
22 using namespace boost::spirit::ascii
;
23 using boost::spirit::qi::raw
;
24 using boost::spirit::qi::eps
;
27 boost::iterator_range
<char const*> range
;
29 BOOST_TEST((test_attr("spirit_test_123", raw
[alpha
>> *(alnum
| '_')], range
)));
30 BOOST_TEST((std::string(range
.begin(), range
.end()) == "spirit_test_123"));
31 BOOST_TEST((test_attr(" spirit", raw
[*alpha
], range
, space
)));
32 BOOST_TEST((range
.size() == 6));
37 BOOST_TEST((test_attr("spirit_test_123", raw
[alpha
>> *(alnum
| '_')], str
)));
38 BOOST_TEST((str
== "spirit_test_123"));
42 boost::iterator_range
<char const*> range
;
43 BOOST_TEST((test("x", raw
[alpha
])));
44 BOOST_TEST((test_attr("x", raw
[alpha
], range
)));
45 BOOST_TEST((test_attr("x", raw
[alpha
] >> eps
, range
)));
48 return boost::report_errors();