1/*=============================================================================
2 Copyright (c) 2011 Bryce Lelbach
3
4 Use, modification and distribution is subject to the Boost Software
5 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
7=============================================================================*/
8#include <boost/spirit/include/qi_repeat.hpp>
9
10#include <boost/spirit/include/qi_operator.hpp>
11#include <boost/spirit/include/qi_char.hpp>
12#include <boost/phoenix/core.hpp>
13
14#include "test.hpp"
15
16int
17main()
18{
19 using spirit_test::test_attr;
20 using boost::spirit::qi::repeat;
21 using boost::spirit::qi::char_;
22 using boost::phoenix::ref;
23
24 int n = 5;
25 std::string s = "";
26
27 // this was broken by the addition of handles_container, due to incorrect
28 // dispatching of lazy parsers/directives/terminals in pass_container
29 BOOST_TEST(test_attr("foobar", char_ >> repeat(ref(n))[char_], s));
30
31 BOOST_TEST_EQ(s, "foobar");
32
33 return boost::report_errors();
34}
35
36

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