12 namespace boost {
namespace mpl {
17 template<
bool >
struct f_ : F {};
18 template<>
struct f_<true>
20 template<
typename P =
int >
struct apply
26 template<
typename T =
int >
struct result_
27 :
f_< aux::msvc_never_true<F>::value >
54 template<
bool >
struct f_ : F {};
55 template<>
struct f_<true>
57 template<
typename P1 >
struct apply
64 :
f_< aux::msvc_never_true<F>::value >
71 typename F,
typename T1
90 template<
bool >
struct f_ : F {};
91 template<>
struct f_<true>
93 template<
typename P1,
typename P2 >
struct apply
99 template<
typename T1,
typename T2 >
struct result_
100 :
f_< aux::msvc_never_true<F>::value >
101 ::template
apply< T1,T2 >
107 typename F,
typename T1,
typename T2
123 template<
typename F>
126 template<
bool >
struct f_ : F {};
127 template<>
struct f_<true>
129 template<
typename P1,
typename P2,
typename P3 >
struct apply
135 template<
typename T1,
typename T2,
typename T3 >
struct result_
136 :
f_< aux::msvc_never_true<F>::value >
137 ::template
apply< T1,T2,T3 >
143 typename F,
typename T1,
typename T2,
typename T3
159 template<
typename F>
162 template<
bool >
struct f_ : F {};
163 template<>
struct f_<true>
166 typename P1,
typename P2,
typename P3,
typename P4
175 typename T1,
typename T2,
typename T3,
typename T4
178 :
f_< aux::msvc_never_true<F>::value >
179 ::template
apply< T1,T2,T3,T4 >
185 typename F,
typename T1,
typename T2,
typename T3,
typename T4
201 template<
typename F>
204 template<
bool >
struct f_ : F {};
205 template<>
struct f_<true>
208 typename P1,
typename P2,
typename P3,
typename P4
218 typename T1,
typename T2,
typename T3,
typename T4
222 :
f_< aux::msvc_never_true<F>::value >
223 ::template
apply< T1,T2,T3,T4,T5 >
229 typename F,
typename T1,
typename T2,
typename T3,
typename T4