source: NonGTP/Boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp @ 857

Revision 857, 2.8 KB checked in by igarcia, 19 years ago (diff)
Line 
1
2// Copyright Aleksey Gurtovoy 2000-2004
3//
4// Distributed under the Boost Software License, Version 1.0.
5// (See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt)
7//
8
9// Preprocessed version of "boost/mpl/apply.hpp" header
10// -- DO NOT modify by hand!
11
12namespace boost { namespace mpl {
13
14template<
15      typename F
16    >
17struct apply0
18
19    : apply_wrap0<
20          typename lambda<F>::type
21       
22        >
23{
24    BOOST_MPL_AUX_LAMBDA_SUPPORT(
25          1
26        , apply0
27        , (F )
28        )
29};
30
31template<
32      typename F
33    >
34struct apply< F,na,na,na,na,na >
35    : apply0<F>
36{
37};
38
39template<
40      typename F, typename T1
41    >
42struct apply1
43
44    : apply_wrap1<
45          typename lambda<F>::type
46        , T1
47        >
48{
49    BOOST_MPL_AUX_LAMBDA_SUPPORT(
50          2
51        , apply1
52        , (F, T1)
53        )
54};
55
56template<
57      typename F, typename T1
58    >
59struct apply< F,T1,na,na,na,na >
60    : apply1< F,T1 >
61{
62};
63
64template<
65      typename F, typename T1, typename T2
66    >
67struct apply2
68
69    : apply_wrap2<
70          typename lambda<F>::type
71        , T1, T2
72        >
73{
74    BOOST_MPL_AUX_LAMBDA_SUPPORT(
75          3
76        , apply2
77        , (F, T1, T2)
78        )
79};
80
81template<
82      typename F, typename T1, typename T2
83    >
84struct apply< F,T1,T2,na,na,na >
85    : apply2< F,T1,T2 >
86{
87};
88
89template<
90      typename F, typename T1, typename T2, typename T3
91    >
92struct apply3
93
94    : apply_wrap3<
95          typename lambda<F>::type
96        , T1, T2, T3
97        >
98{
99    BOOST_MPL_AUX_LAMBDA_SUPPORT(
100          4
101        , apply3
102        , (F, T1, T2, T3)
103        )
104};
105
106template<
107      typename F, typename T1, typename T2, typename T3
108    >
109struct apply< F,T1,T2,T3,na,na >
110    : apply3< F,T1,T2,T3 >
111{
112};
113
114template<
115      typename F, typename T1, typename T2, typename T3, typename T4
116    >
117struct apply4
118
119    : apply_wrap4<
120          typename lambda<F>::type
121        , T1, T2, T3, T4
122        >
123{
124    BOOST_MPL_AUX_LAMBDA_SUPPORT(
125          5
126        , apply4
127        , (F, T1, T2, T3, T4)
128        )
129};
130
131template<
132      typename F, typename T1, typename T2, typename T3, typename T4
133    >
134struct apply< F,T1,T2,T3,T4,na >
135    : apply4< F,T1,T2,T3,T4 >
136{
137};
138
139template<
140      typename F, typename T1, typename T2, typename T3, typename T4
141    , typename T5
142    >
143struct apply5
144
145    : apply_wrap5<
146          typename lambda<F>::type
147        , T1, T2, T3, T4, T5
148        >
149{
150    BOOST_MPL_AUX_LAMBDA_SUPPORT(
151          6
152        , apply5
153        , (F, T1, T2, T3, T4, T5)
154        )
155};
156
157/// primary template (not a specialization!)
158
159template<
160      typename F, typename T1, typename T2, typename T3, typename T4
161    , typename T5
162    >
163struct apply
164    : apply5< F,T1,T2,T3,T4,T5 >
165{
166};
167
168}}
169
Note: See TracBrowser for help on using the repository browser.