]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/spirit/test/qi/raw.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / spirit / test / qi / raw.cpp
CommitLineData
7c673cae
FG
1/*=============================================================================
2 Copyright (c) 2001-2010 Joel de Guzman
3
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=============================================================================*/
1e59de90
TL
7#include <boost/spirit/include/qi_raw.hpp>
8
7c673cae
FG
9#include <boost/spirit/include/qi_char.hpp>
10#include <boost/spirit/include/qi_operator.hpp>
11#include <boost/spirit/include/qi_auxiliary.hpp>
12
13#include <iostream>
14#include <string>
15#include "test.hpp"
16
17int
18main()
19{
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;
25
26 {
27 boost::iterator_range<char const*> range;
28 std::string str;
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));
33 }
34
35 {
36 std::string str;
37 BOOST_TEST((test_attr("spirit_test_123", raw[alpha >> *(alnum | '_')], str)));
38 BOOST_TEST((str == "spirit_test_123"));
39 }
40
41 {
42 boost::iterator_range<char const*> range;
43 BOOST_TEST((test("x", raw[alpha])));
44 BOOST_TEST((test_attr("x", raw[alpha], range)));
1e59de90 45 BOOST_TEST((test_attr("x", raw[alpha] >> eps, range)));
7c673cae
FG
46 }
47
48 return boost::report_errors();
49}