PageRenderTime 18ms CodeModel.GetById 9ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp

http://hadesmem.googlecode.com/
C++ Header | 169 lines | 135 code | 25 blank | 9 comment | 0 complexity | 88d9e30a0e8533104eeca6a3d2ed445f MD5 | raw file
  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