]> git.sesse.net Git - casparcg/blob - dependencies/boost/boost/phoenix/bind/preprocessed/bind_function_object_20.hpp
Manually merged pull request #222
[casparcg] / dependencies / boost / boost / phoenix / bind / preprocessed / bind_function_object_20.hpp
1 /*=============================================================================
2     Copyright (c) 2001-2007 Joel de Guzman
3
4     Distributed under the Boost Software License, Version 1.0. (See accompanying 
5     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7     
8     
9     
10     
11     
12     
13     
14     template <
15         typename F
16       , typename A0
17     >
18     inline
19     typename detail::expression::function_eval<
20         F
21       , A0
22     >::type const
23     bind(F f, A0 const& a0)
24     {
25         return
26             detail::expression::function_eval<F, A0>::make(
27                 f
28               , a0
29             );
30     }
31     
32     
33     
34     
35     
36     
37     
38     template <
39         typename F
40       , typename A0 , typename A1
41     >
42     inline
43     typename detail::expression::function_eval<
44         F
45       , A0 , A1
46     >::type const
47     bind(F f, A0 const& a0 , A1 const& a1)
48     {
49         return
50             detail::expression::function_eval<F, A0 , A1>::make(
51                 f
52               , a0 , a1
53             );
54     }
55     
56     
57     
58     
59     
60     
61     
62     template <
63         typename F
64       , typename A0 , typename A1 , typename A2
65     >
66     inline
67     typename detail::expression::function_eval<
68         F
69       , A0 , A1 , A2
70     >::type const
71     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
72     {
73         return
74             detail::expression::function_eval<F, A0 , A1 , A2>::make(
75                 f
76               , a0 , a1 , a2
77             );
78     }
79     
80     
81     
82     
83     
84     
85     
86     template <
87         typename F
88       , typename A0 , typename A1 , typename A2 , typename A3
89     >
90     inline
91     typename detail::expression::function_eval<
92         F
93       , A0 , A1 , A2 , A3
94     >::type const
95     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
96     {
97         return
98             detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
99                 f
100               , a0 , a1 , a2 , a3
101             );
102     }
103     
104     
105     
106     
107     
108     
109     
110     template <
111         typename F
112       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
113     >
114     inline
115     typename detail::expression::function_eval<
116         F
117       , A0 , A1 , A2 , A3 , A4
118     >::type const
119     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
120     {
121         return
122             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
123                 f
124               , a0 , a1 , a2 , a3 , a4
125             );
126     }
127     
128     
129     
130     
131     
132     
133     
134     template <
135         typename F
136       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
137     >
138     inline
139     typename detail::expression::function_eval<
140         F
141       , A0 , A1 , A2 , A3 , A4 , A5
142     >::type const
143     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
144     {
145         return
146             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
147                 f
148               , a0 , a1 , a2 , a3 , a4 , a5
149             );
150     }
151     
152     
153     
154     
155     
156     
157     
158     template <
159         typename F
160       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
161     >
162     inline
163     typename detail::expression::function_eval<
164         F
165       , A0 , A1 , A2 , A3 , A4 , A5 , A6
166     >::type const
167     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
168     {
169         return
170             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
171                 f
172               , a0 , a1 , a2 , a3 , a4 , a5 , a6
173             );
174     }
175     
176     
177     
178     
179     
180     
181     
182     template <
183         typename F
184       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
185     >
186     inline
187     typename detail::expression::function_eval<
188         F
189       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
190     >::type const
191     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
192     {
193         return
194             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
195                 f
196               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
197             );
198     }
199     
200     
201     
202     
203     
204     
205     
206     template <
207         typename F
208       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
209     >
210     inline
211     typename detail::expression::function_eval<
212         F
213       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
214     >::type const
215     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
216     {
217         return
218             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
219                 f
220               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
221             );
222     }
223     
224     
225     
226     
227     
228     
229     
230     template <
231         typename F
232       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
233     >
234     inline
235     typename detail::expression::function_eval<
236         F
237       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
238     >::type const
239     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
240     {
241         return
242             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(
243                 f
244               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
245             );
246     }
247     
248     
249     
250     
251     
252     
253     
254     template <
255         typename F
256       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
257     >
258     inline
259     typename detail::expression::function_eval<
260         F
261       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
262     >::type const
263     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
264     {
265         return
266             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(
267                 f
268               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10
269             );
270     }
271     
272     
273     
274     
275     
276     
277     
278     template <
279         typename F
280       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
281     >
282     inline
283     typename detail::expression::function_eval<
284         F
285       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
286     >::type const
287     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
288     {
289         return
290             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(
291                 f
292               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11
293             );
294     }
295     
296     
297     
298     
299     
300     
301     
302     template <
303         typename F
304       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
305     >
306     inline
307     typename detail::expression::function_eval<
308         F
309       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
310     >::type const
311     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
312     {
313         return
314             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(
315                 f
316               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12
317             );
318     }
319     
320     
321     
322     
323     
324     
325     
326     template <
327         typename F
328       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
329     >
330     inline
331     typename detail::expression::function_eval<
332         F
333       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
334     >::type const
335     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
336     {
337         return
338             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(
339                 f
340               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13
341             );
342     }
343     
344     
345     
346     
347     
348     
349     
350     template <
351         typename F
352       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
353     >
354     inline
355     typename detail::expression::function_eval<
356         F
357       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
358     >::type const
359     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
360     {
361         return
362             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(
363                 f
364               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14
365             );
366     }
367     
368     
369     
370     
371     
372     
373     
374     template <
375         typename F
376       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
377     >
378     inline
379     typename detail::expression::function_eval<
380         F
381       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
382     >::type const
383     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
384     {
385         return
386             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(
387                 f
388               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15
389             );
390     }
391     
392     
393     
394     
395     
396     
397     
398     template <
399         typename F
400       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
401     >
402     inline
403     typename detail::expression::function_eval<
404         F
405       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
406     >::type const
407     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
408     {
409         return
410             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(
411                 f
412               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16
413             );
414     }
415     
416     
417     
418     
419     
420     
421     
422     template <
423         typename F
424       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
425     >
426     inline
427     typename detail::expression::function_eval<
428         F
429       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
430     >::type const
431     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
432     {
433         return
434             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(
435                 f
436               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17
437             );
438     }
439     
440     
441     
442     
443     
444     
445     
446     template <
447         typename F
448       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
449     >
450     inline
451     typename detail::expression::function_eval<
452         F
453       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
454     >::type const
455     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
456     {
457         return
458             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(
459                 f
460               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18
461             );
462     }