]> https://gitweb.dealii.org/ - dealii.git/blob
9f577a4f55cf48c506966c4f42c115643fcf5ca4
[dealii.git] /
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     Use, modification and distribution is subject to the Boost Software
8     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9     http://www.boost.org/LICENSE_1_0.txt)
10 =============================================================================*/
11 #if !defined(BOOST_SPIRIT_SEQUENTIAL_AND_IPP)
12 #define BOOST_SPIRIT_SEQUENTIAL_AND_IPP
13
14 namespace boost { namespace spirit {
15
16 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
17
18     ///////////////////////////////////////////////////////////////////////////
19     //
20     //  sequential-and operators implementation
21     //
22     ///////////////////////////////////////////////////////////////////////////
23     template <typename A, typename B>
24     inline sequence<A, B>
25     operator&&(parser<A> const& a, parser<B> const& b)
26     {
27         return sequence<A, B>(a.derived(), b.derived());
28     }
29     
30     template <typename A>
31     inline sequence<A, chlit<char> >
32     operator&&(parser<A> const& a, char b)
33     {
34         return sequence<A, chlit<char> >(a.derived(), b);
35     }
36     
37     template <typename B>
38     inline sequence<chlit<char>, B>
39     operator&&(char a, parser<B> const& b)
40     {
41         return sequence<chlit<char>, B>(a, b.derived());
42     }
43     
44     template <typename A>
45     inline sequence<A, strlit<char const*> >
46     operator&&(parser<A> const& a, char const* b)
47     {
48         return sequence<A, strlit<char const*> >(a.derived(), b);
49     }
50     
51     template <typename B>
52     inline sequence<strlit<char const*>, B>
53     operator&&(char const* a, parser<B> const& b)
54     {
55         return sequence<strlit<char const*>, B>(a, b.derived());
56     }
57     
58     template <typename A>
59     inline sequence<A, chlit<wchar_t> >
60     operator&&(parser<A> const& a, wchar_t b)
61     {
62         return sequence<A, chlit<wchar_t> >(a.derived(), b);
63     }
64     
65     template <typename B>
66     inline sequence<chlit<wchar_t>, B>
67     operator&&(wchar_t a, parser<B> const& b)
68     {
69         return sequence<chlit<wchar_t>, B>(a, b.derived());
70     }
71     
72     template <typename A>
73     inline sequence<A, strlit<wchar_t const*> >
74     operator&&(parser<A> const& a, wchar_t const* b)
75     {
76         return sequence<A, strlit<wchar_t const*> >(a.derived(), b);
77     }
78     
79     template <typename B>
80     inline sequence<strlit<wchar_t const*>, B>
81     operator&&(wchar_t const* a, parser<B> const& b)
82     {
83         return sequence<strlit<wchar_t const*>, B>(a, b.derived());
84     }
85     
86 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
87
88 }} // namespace boost::spirit
89
90 #endif

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.