PageRenderTime 37ms CodeModel.GetById 20ms app.highlight 14ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/proto/detail/preprocessed/lambda_matches.hpp

http://hadesmem.googlecode.com/
C++ Header | 142 lines | 135 code | 0 blank | 7 comment | 0 complexity | 008c11f4cab99ea14eca2d0918ecdf34 MD5 | raw file
  1    ///////////////////////////////////////////////////////////////////////////////
  2    /// \file lambda_matches.hpp
  3    /// Specializations of the lambda_matches template
  4    //
  5    //  Copyright 2008 Eric Niebler. Distributed under the Boost
  6    //  Software License, Version 1.0. (See accompanying file
  7    //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  8    template<
  9        template<typename , typename> class T
 10        , typename Expr0 , typename Expr1
 11        , typename Grammar0 , typename Grammar1
 12    >
 13    struct lambda_matches<
 14        T<Expr0 , Expr1>
 15      , T<Grammar0 , Grammar1>
 16        BOOST_PROTO_TEMPLATE_ARITY_PARAM(2)
 17    >
 18      : and_2<
 19            lambda_matches< Expr0 , Grammar0 >::value,
 20            lambda_matches< Expr1 , Grammar1 >
 21        >
 22    {};
 23    template<
 24        template<typename , typename , typename> class T
 25        , typename Expr0 , typename Expr1 , typename Expr2
 26        , typename Grammar0 , typename Grammar1 , typename Grammar2
 27    >
 28    struct lambda_matches<
 29        T<Expr0 , Expr1 , Expr2>
 30      , T<Grammar0 , Grammar1 , Grammar2>
 31        BOOST_PROTO_TEMPLATE_ARITY_PARAM(3)
 32    >
 33      : and_3<
 34            lambda_matches< Expr0 , Grammar0 >::value,
 35            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 >
 36        >
 37    {};
 38    template<
 39        template<typename , typename , typename , typename> class T
 40        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3
 41        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3
 42    >
 43    struct lambda_matches<
 44        T<Expr0 , Expr1 , Expr2 , Expr3>
 45      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3>
 46        BOOST_PROTO_TEMPLATE_ARITY_PARAM(4)
 47    >
 48      : and_4<
 49            lambda_matches< Expr0 , Grammar0 >::value,
 50            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 >
 51        >
 52    {};
 53    template<
 54        template<typename , typename , typename , typename , typename> class T
 55        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4
 56        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4
 57    >
 58    struct lambda_matches<
 59        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4>
 60      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4>
 61        BOOST_PROTO_TEMPLATE_ARITY_PARAM(5)
 62    >
 63      : and_5<
 64            lambda_matches< Expr0 , Grammar0 >::value,
 65            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 >
 66        >
 67    {};
 68    template<
 69        template<typename , typename , typename , typename , typename , typename> class T
 70        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5
 71        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5
 72    >
 73    struct lambda_matches<
 74        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4 , Expr5>
 75      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4 , Grammar5>
 76        BOOST_PROTO_TEMPLATE_ARITY_PARAM(6)
 77    >
 78      : and_6<
 79            lambda_matches< Expr0 , Grammar0 >::value,
 80            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 >
 81        >
 82    {};
 83    template<
 84        template<typename , typename , typename , typename , typename , typename , typename> class T
 85        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6
 86        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6
 87    >
 88    struct lambda_matches<
 89        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4 , Expr5 , Expr6>
 90      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4 , Grammar5 , Grammar6>
 91        BOOST_PROTO_TEMPLATE_ARITY_PARAM(7)
 92    >
 93      : and_7<
 94            lambda_matches< Expr0 , Grammar0 >::value,
 95            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 >
 96        >
 97    {};
 98    template<
 99        template<typename , typename , typename , typename , typename , typename , typename , typename> class T
100        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7
101        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7
102    >
103    struct lambda_matches<
104        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4 , Expr5 , Expr6 , Expr7>
105      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4 , Grammar5 , Grammar6 , Grammar7>
106        BOOST_PROTO_TEMPLATE_ARITY_PARAM(8)
107    >
108      : and_8<
109            lambda_matches< Expr0 , Grammar0 >::value,
110            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 >
111        >
112    {};
113    template<
114        template<typename , typename , typename , typename , typename , typename , typename , typename , typename> class T
115        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7 , typename Expr8
116        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7 , typename Grammar8
117    >
118    struct lambda_matches<
119        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4 , Expr5 , Expr6 , Expr7 , Expr8>
120      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4 , Grammar5 , Grammar6 , Grammar7 , Grammar8>
121        BOOST_PROTO_TEMPLATE_ARITY_PARAM(9)
122    >
123      : and_9<
124            lambda_matches< Expr0 , Grammar0 >::value,
125            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 > , lambda_matches< Expr8 , Grammar8 >
126        >
127    {};
128    template<
129        template<typename , typename , typename , typename , typename , typename , typename , typename , typename , typename> class T
130        , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7 , typename Expr8 , typename Expr9
131        , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7 , typename Grammar8 , typename Grammar9
132    >
133    struct lambda_matches<
134        T<Expr0 , Expr1 , Expr2 , Expr3 , Expr4 , Expr5 , Expr6 , Expr7 , Expr8 , Expr9>
135      , T<Grammar0 , Grammar1 , Grammar2 , Grammar3 , Grammar4 , Grammar5 , Grammar6 , Grammar7 , Grammar8 , Grammar9>
136        BOOST_PROTO_TEMPLATE_ARITY_PARAM(10)
137    >
138      : and_10<
139            lambda_matches< Expr0 , Grammar0 >::value,
140            lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 > , lambda_matches< Expr8 , Grammar8 > , lambda_matches< Expr9 , Grammar9 >
141        >
142    {};