PageRenderTime 96ms CodeModel.GetById 85ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/spirit/home/classic/core/composite/sequential_and.hpp

http://hadesmem.googlecode.com/
C++ Header | 76 lines | 40 code | 16 blank | 20 comment | 0 complexity | ff6eae63e042c4136107f18478c1456c MD5 | raw file
 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_SEQUENTIAL_AND_HPP)
11#define BOOST_SPIRIT_SEQUENTIAL_AND_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
19namespace boost { namespace spirit {
20
21BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
22
23    ///////////////////////////////////////////////////////////////////////////
24    //
25    //  sequential-and operators
26    //
27    //      Handles expressions of the form:
28    //
29    //          a && b
30    //
31    //      Same as a >> b.
32    //
33    ///////////////////////////////////////////////////////////////////////////
34    template <typename A, typename B>
35    sequence<A, B>
36    operator&&(parser<A> const& a, parser<B> const& b);
37    
38    template <typename A>
39    sequence<A, chlit<char> >
40    operator&&(parser<A> const& a, char b);
41    
42    template <typename B>
43    sequence<chlit<char>, B>
44    operator&&(char a, parser<B> const& b);
45    
46    template <typename A>
47    sequence<A, strlit<char const*> >
48    operator&&(parser<A> const& a, char const* b);
49    
50    template <typename B>
51    sequence<strlit<char const*>, B>
52    operator&&(char const* a, parser<B> const& b);
53    
54    template <typename A>
55    sequence<A, chlit<wchar_t> >
56    operator&&(parser<A> const& a, wchar_t b);
57    
58    template <typename B>
59    sequence<chlit<wchar_t>, B>
60    operator&&(wchar_t a, parser<B> const& b);
61    
62    template <typename A>
63    sequence<A, strlit<wchar_t const*> >
64    operator&&(parser<A> const& a, wchar_t const* b);
65    
66    template <typename B>
67    sequence<strlit<wchar_t const*>, B>
68    operator&&(wchar_t const* a, parser<B> const& b);
69
70BOOST_SPIRIT_CLASSIC_NAMESPACE_END
71
72}} // namespace BOOST_SPIRIT_CLASSIC_NS
73
74#endif
75
76#include <boost/spirit/home/classic/core/composite/impl/sequential_and.ipp>