PageRenderTime 28ms CodeModel.GetById 20ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

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

http://hadesmem.googlecode.com/
C++ Header | 166 lines | 122 code | 30 blank | 14 comment | 0 complexity | 5d345875f0f8b9fc947acb9e3553427c 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{
 20    typedef typename apply_wrap0<
 21          typename lambda<F>::type
 22       
 23        >::type type;
 24
 25    BOOST_MPL_AUX_LAMBDA_SUPPORT(
 26          1
 27        , apply0
 28        , (F )
 29        )
 30};
 31
 32/// workaround for ETI bug
 33template<>
 34struct apply0<int>
 35{
 36    typedef int type;
 37};
 38
 39template<
 40      typename F, typename T1
 41    >
 42struct apply1
 43
 44{
 45    typedef typename apply_wrap1<
 46          typename lambda<F>::type
 47        , T1
 48        >::type type;
 49
 50    BOOST_MPL_AUX_LAMBDA_SUPPORT(
 51          2
 52        , apply1
 53        , (F, T1)
 54        )
 55};
 56
 57/// workaround for ETI bug
 58template<>
 59struct apply1< int,int >
 60{
 61    typedef int type;
 62};
 63
 64template<
 65      typename F, typename T1, typename T2
 66    >
 67struct apply2
 68
 69{
 70    typedef typename apply_wrap2<
 71          typename lambda<F>::type
 72        , T1, T2
 73        >::type type;
 74
 75    BOOST_MPL_AUX_LAMBDA_SUPPORT(
 76          3
 77        , apply2
 78        , (F, T1, T2)
 79        )
 80};
 81
 82/// workaround for ETI bug
 83template<>
 84struct apply2< int,int,int >
 85{
 86    typedef int type;
 87};
 88
 89template<
 90      typename F, typename T1, typename T2, typename T3
 91    >
 92struct apply3
 93
 94{
 95    typedef typename apply_wrap3<
 96          typename lambda<F>::type
 97        , T1, T2, T3
 98        >::type type;
 99
100    BOOST_MPL_AUX_LAMBDA_SUPPORT(
101          4
102        , apply3
103        , (F, T1, T2, T3)
104        )
105};
106
107/// workaround for ETI bug
108template<>
109struct apply3< int,int,int,int >
110{
111    typedef int type;
112};
113
114template<
115      typename F, typename T1, typename T2, typename T3, typename T4
116    >
117struct apply4
118
119{
120    typedef typename apply_wrap4<
121          typename lambda<F>::type
122        , T1, T2, T3, T4
123        >::type type;
124
125    BOOST_MPL_AUX_LAMBDA_SUPPORT(
126          5
127        , apply4
128        , (F, T1, T2, T3, T4)
129        )
130};
131
132/// workaround for ETI bug
133template<>
134struct apply4< int,int,int,int,int >
135{
136    typedef int type;
137};
138
139template<
140      typename F, typename T1, typename T2, typename T3, typename T4
141    , typename T5
142    >
143struct apply5
144
145{
146    typedef typename apply_wrap5<
147          typename lambda<F>::type
148        , T1, T2, T3, T4, T5
149        >::type type;
150
151    BOOST_MPL_AUX_LAMBDA_SUPPORT(
152          6
153        , apply5
154        , (F, T1, T2, T3, T4, T5)
155        )
156};
157
158/// workaround for ETI bug
159template<>
160struct apply5< int,int,int,int,int,int >
161{
162    typedef int type;
163};
164
165}}
166