]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | {}; |