Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:41:16

0001 
0002 // Copyright Aleksey Gurtovoy 2000-2004
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. 
0005 // (See accompanying file LICENSE_1_0.txt or copy at 
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 // Preprocessed version of "boost/mpl/apply.hpp" header
0010 // -- DO NOT modify by hand!
0011 
0012 namespace boost { namespace mpl {
0013 
0014 template<
0015       typename F
0016     >
0017 struct apply0
0018 
0019 {
0020     typedef typename apply_wrap0<
0021           typename lambda<F>::type
0022        
0023         >::type type;
0024 
0025     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0026           1
0027         , apply0
0028         , (F )
0029         )
0030 };
0031 
0032 /// workaround for ETI bug
0033 template<>
0034 struct apply0<int>
0035 {
0036     typedef int type;
0037 };
0038 
0039 template<
0040       typename F, typename T1
0041     >
0042 struct apply1
0043 
0044 {
0045     typedef typename apply_wrap1<
0046           typename lambda<F>::type
0047         , T1
0048         >::type type;
0049 
0050     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0051           2
0052         , apply1
0053         , (F, T1)
0054         )
0055 };
0056 
0057 /// workaround for ETI bug
0058 template<>
0059 struct apply1< int,int >
0060 {
0061     typedef int type;
0062 };
0063 
0064 template<
0065       typename F, typename T1, typename T2
0066     >
0067 struct apply2
0068 
0069 {
0070     typedef typename apply_wrap2<
0071           typename lambda<F>::type
0072         , T1, T2
0073         >::type type;
0074 
0075     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0076           3
0077         , apply2
0078         , (F, T1, T2)
0079         )
0080 };
0081 
0082 /// workaround for ETI bug
0083 template<>
0084 struct apply2< int,int,int >
0085 {
0086     typedef int type;
0087 };
0088 
0089 template<
0090       typename F, typename T1, typename T2, typename T3
0091     >
0092 struct apply3
0093 
0094 {
0095     typedef typename apply_wrap3<
0096           typename lambda<F>::type
0097         , T1, T2, T3
0098         >::type type;
0099 
0100     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0101           4
0102         , apply3
0103         , (F, T1, T2, T3)
0104         )
0105 };
0106 
0107 /// workaround for ETI bug
0108 template<>
0109 struct apply3< int,int,int,int >
0110 {
0111     typedef int type;
0112 };
0113 
0114 template<
0115       typename F, typename T1, typename T2, typename T3, typename T4
0116     >
0117 struct apply4
0118 
0119 {
0120     typedef typename apply_wrap4<
0121           typename lambda<F>::type
0122         , T1, T2, T3, T4
0123         >::type type;
0124 
0125     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0126           5
0127         , apply4
0128         , (F, T1, T2, T3, T4)
0129         )
0130 };
0131 
0132 /// workaround for ETI bug
0133 template<>
0134 struct apply4< int,int,int,int,int >
0135 {
0136     typedef int type;
0137 };
0138 
0139 template<
0140       typename F, typename T1, typename T2, typename T3, typename T4
0141     , typename T5
0142     >
0143 struct apply5
0144 
0145 {
0146     typedef typename apply_wrap5<
0147           typename lambda<F>::type
0148         , T1, T2, T3, T4, T5
0149         >::type type;
0150 
0151     BOOST_MPL_AUX_LAMBDA_SUPPORT(
0152           6
0153         , apply5
0154         , (F, T1, T2, T3, T4, T5)
0155         )
0156 };
0157 
0158 /// workaround for ETI bug
0159 template<>
0160 struct apply5< int,int,int,int,int,int >
0161 {
0162     typedef int type;
0163 };
0164 
0165 }}
0166