]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /*============================================================================== |
2 | Copyright (c) 2005-2010 Joel de Guzman | |
3 | Copyright (c) 2010 Thomas Heller | |
4 | ||
5 | Distributed under the Boost Software License, Version 1.0. (See accompanying | |
6 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
7 | ==============================================================================*/ | |
8 | template <typename Expr | |
9 | , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void | |
10 | , typename Dummy = void> | |
11 | struct actor; | |
12 | template <typename Expr> | |
13 | struct nullary_actor_result | |
14 | { | |
15 | typedef | |
16 | typename boost::phoenix::evaluator::impl< | |
17 | Expr const& | |
18 | , vector2< | |
19 | vector1<const ::boost::phoenix::actor<Expr> *> & | |
20 | , default_actions | |
21 | > const & | |
22 | , proto::empty_env | |
23 | >::result_type | |
24 | type; | |
25 | }; | |
26 | ||
27 | ||
28 | ||
29 | ||
30 | ||
31 | ||
32 | ||
33 | template <typename Expr, typename A0> | |
34 | struct actor<Expr, A0> | |
35 | { | |
36 | typedef | |
37 | typename phoenix::evaluator:: | |
38 | impl< | |
39 | Expr const& | |
40 | , vector2< | |
41 | vector2<const ::boost::phoenix::actor<Expr> *, A0> & | |
42 | , default_actions | |
43 | > const & | |
44 | , proto::empty_env | |
45 | >::result_type | |
46 | type; | |
47 | }; | |
48 | ||
49 | ||
50 | ||
51 | ||
52 | ||
53 | ||
54 | ||
55 | template <typename Expr, typename A0 , typename A1> | |
56 | struct actor<Expr, A0 , A1> | |
57 | { | |
58 | typedef | |
59 | typename phoenix::evaluator:: | |
60 | impl< | |
61 | Expr const& | |
62 | , vector2< | |
63 | vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> & | |
64 | , default_actions | |
65 | > const & | |
66 | , proto::empty_env | |
67 | >::result_type | |
68 | type; | |
69 | }; | |
70 | ||
71 | ||
72 | ||
73 | ||
74 | ||
75 | ||
76 | ||
77 | template <typename Expr, typename A0 , typename A1 , typename A2> | |
78 | struct actor<Expr, A0 , A1 , A2> | |
79 | { | |
80 | typedef | |
81 | typename phoenix::evaluator:: | |
82 | impl< | |
83 | Expr const& | |
84 | , vector2< | |
85 | vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> & | |
86 | , default_actions | |
87 | > const & | |
88 | , proto::empty_env | |
89 | >::result_type | |
90 | type; | |
91 | }; | |
92 | ||
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 | ||
99 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3> | |
100 | struct actor<Expr, A0 , A1 , A2 , A3> | |
101 | { | |
102 | typedef | |
103 | typename phoenix::evaluator:: | |
104 | impl< | |
105 | Expr const& | |
106 | , vector2< | |
107 | vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> & | |
108 | , default_actions | |
109 | > const & | |
110 | , proto::empty_env | |
111 | >::result_type | |
112 | type; | |
113 | }; | |
114 | ||
115 | ||
116 | ||
117 | ||
118 | ||
119 | ||
120 | ||
121 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4> | |
122 | struct actor<Expr, A0 , A1 , A2 , A3 , A4> | |
123 | { | |
124 | typedef | |
125 | typename phoenix::evaluator:: | |
126 | impl< | |
127 | Expr const& | |
128 | , vector2< | |
129 | vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> & | |
130 | , default_actions | |
131 | > const & | |
132 | , proto::empty_env | |
133 | >::result_type | |
134 | type; | |
135 | }; | |
136 | ||
137 | ||
138 | ||
139 | ||
140 | ||
141 | ||
142 | ||
143 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> | |
144 | struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5> | |
145 | { | |
146 | typedef | |
147 | typename phoenix::evaluator:: | |
148 | impl< | |
149 | Expr const& | |
150 | , vector2< | |
151 | vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> & | |
152 | , default_actions | |
153 | > const & | |
154 | , proto::empty_env | |
155 | >::result_type | |
156 | type; | |
157 | }; | |
158 | ||
159 | ||
160 | ||
161 | ||
162 | ||
163 | ||
164 | ||
165 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> | |
166 | struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6> | |
167 | { | |
168 | typedef | |
169 | typename phoenix::evaluator:: | |
170 | impl< | |
171 | Expr const& | |
172 | , vector2< | |
173 | vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> & | |
174 | , default_actions | |
175 | > const & | |
176 | , proto::empty_env | |
177 | >::result_type | |
178 | type; | |
179 | }; | |
180 | ||
181 | ||
182 | ||
183 | ||
184 | ||
185 | ||
186 | ||
187 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> | |
188 | struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> | |
189 | { | |
190 | typedef | |
191 | typename phoenix::evaluator:: | |
192 | impl< | |
193 | Expr const& | |
194 | , vector2< | |
195 | vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> & | |
196 | , default_actions | |
197 | > const & | |
198 | , proto::empty_env | |
199 | >::result_type | |
200 | type; | |
201 | }; | |
202 | ||
203 | ||
204 | ||
205 | ||
206 | ||
207 | ||
208 | ||
209 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> | |
210 | struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> | |
211 | { | |
212 | typedef | |
213 | typename phoenix::evaluator:: | |
214 | impl< | |
215 | Expr const& | |
216 | , vector2< | |
217 | vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> & | |
218 | , default_actions | |
219 | > const & | |
220 | , proto::empty_env | |
221 | >::result_type | |
222 | type; | |
223 | }; | |
224 | ||
225 | ||
226 | ||
227 | ||
228 | ||
229 | ||
230 | ||
231 | template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> | |
232 | struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> | |
233 | { | |
234 | typedef | |
235 | typename phoenix::evaluator:: | |
236 | impl< | |
237 | Expr const& | |
238 | , vector2< | |
239 | vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> & | |
240 | , default_actions | |
241 | > const & | |
242 | , proto::empty_env | |
243 | >::result_type | |
244 | type; | |
245 | }; |