]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /*============================================================================= |
2 | Copyright (c) 1998-2003 Joel de Guzman | |
3 | Copyright (c) 2001 Daniel Nuffer | |
4 | Copyright (c) 2002 Hartmut Kaiser | |
5 | http://spirit.sourceforge.net/ | |
6 | ||
7 | Distributed under the Boost Software License, Version 1.0. (See accompanying | |
8 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
9 | =============================================================================*/ | |
10 | #if !defined(BOOST_SPIRIT_LIST_HPP) | |
11 | #define BOOST_SPIRIT_LIST_HPP | |
12 | ||
13 | #include <boost/spirit/home/classic/namespace.hpp> | |
14 | #include <boost/spirit/home/classic/core/parser.hpp> | |
15 | #include <boost/spirit/home/classic/core/primitives/primitives.hpp> | |
16 | #include <boost/spirit/home/classic/core/composite/composite.hpp> | |
17 | #include <boost/spirit/home/classic/meta/as_parser.hpp> | |
18 | ||
19 | namespace boost { namespace spirit { | |
20 | ||
21 | BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN | |
22 | ||
23 | /////////////////////////////////////////////////////////////////////////// | |
24 | // | |
25 | // operator% is defined as: | |
26 | // a % b ---> a >> *(b >> a) | |
27 | // | |
28 | /////////////////////////////////////////////////////////////////////////// | |
29 | template <typename A, typename B> | |
30 | sequence<A, kleene_star<sequence<B, A> > > | |
31 | operator%(parser<A> const& a, parser<B> const& b); | |
32 | ||
33 | template <typename A> | |
34 | sequence<A, kleene_star<sequence<chlit<char>, A> > > | |
35 | operator%(parser<A> const& a, char b); | |
36 | ||
37 | template <typename B> | |
38 | sequence<chlit<char>, kleene_star<sequence<B, chlit<char> > > > | |
39 | operator%(char a, parser<B> const& b); | |
40 | ||
41 | template <typename A> | |
42 | sequence<A, kleene_star<sequence<strlit<char const*>, A> > > | |
43 | operator%(parser<A> const& a, char const* b); | |
44 | ||
45 | template <typename B> | |
46 | sequence<strlit<char const*>, | |
47 | kleene_star<sequence<B, strlit<char const*> > > > | |
48 | operator%(char const* a, parser<B> const& b); | |
49 | ||
50 | template <typename A> | |
51 | sequence<A, kleene_star<sequence<chlit<wchar_t>, A> > > | |
52 | operator%(parser<A> const& a, wchar_t b); | |
53 | ||
54 | template <typename B> | |
55 | sequence<chlit<wchar_t>, kleene_star<sequence<B, chlit<wchar_t> > > > | |
56 | operator%(wchar_t a, parser<B> const& b); | |
57 | ||
58 | template <typename A> | |
59 | sequence<A, kleene_star<sequence<strlit<wchar_t const*>, A> > > | |
60 | operator%(parser<A> const& a, wchar_t const* b); | |
61 | ||
62 | template <typename B> | |
63 | sequence<strlit<wchar_t const*>, | |
64 | kleene_star<sequence<B, strlit<wchar_t const*> > > > | |
65 | operator%(wchar_t const* a, parser<B> const& b); | |
66 | ||
67 | BOOST_SPIRIT_CLASSIC_NAMESPACE_END | |
68 | ||
69 | }} // namespace BOOST_SPIRIT_CLASSIC_NS | |
70 | ||
71 | #endif | |
72 | ||
73 | #include <boost/spirit/home/classic/core/composite/impl/list.ipp> |