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