]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/proto/include/boost/proto/detail/preprocessed/lambda_matches.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / proto / include / boost / proto / detail / preprocessed / lambda_matches.hpp
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 {};