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=============================================================================*/
7#include <boost/spirit/include/qi_lexeme.hpp>
8
9#include <boost/spirit/include/qi_char.hpp>
10#include <boost/spirit/include/qi_plus.hpp>
11#include <boost/spirit/include/qi_nonterminal.hpp>
12
13#include <iostream>
14#include "test.hpp"
15
16int
17main()
18{
19 using spirit_test::test;
20 using boost::spirit::ascii::space;
21 using boost::spirit::ascii::space_type;
22 using boost::spirit::ascii::digit;
23 using boost::spirit::qi::lexeme;
24 using boost::spirit::qi::rule;
25
26 {
27 BOOST_TEST((test(" 1 2 3 4 5", +digit, space)));
28 BOOST_TEST((!test(" 1 2 3 4 5", lexeme[+digit], space)));
29 BOOST_TEST((test(" 12345", lexeme[+digit], space)));
30 BOOST_TEST((test(" 12345 ", lexeme[+digit], space, false)));
31
32 rule<char const*, space_type> rr;
33 rule<char const*> r;
34 r = +digit;
35 rr = lexeme[r];
36 BOOST_TEST((!test(" 1 2 3 4 5", rr, space)));
37 BOOST_TEST((test(" 12345", rr, space)));
38 }
39
40 return boost::report_errors();
41}
42

source code of boost/libs/spirit/test/qi/lexeme.cpp