2
// Copyright Aleksey Gurtovoy 2000-2004
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)
9
// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
10
// -- DO NOT modify by hand!
12
namespace boost { namespace mpl {
17
bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
26
struct lambda_or< false,false,false,false,false >
31
template< typename Arity > struct lambda_impl
33
template< typename T, typename Tag, typename Protect > struct result_
36
typedef is_placeholder<T> is_le;
40
template<> struct lambda_impl< int_<1> >
42
template< typename F, typename Tag, typename Protect > struct result_
44
typedef lambda< typename F::arg1, Tag, false_ > l1;
45
typedef typename l1::is_le is_le1;
46
typedef aux::lambda_or<
47
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
57
, if_< Protect, mpl::protect<bind_>, bind_ >
61
typedef typename type_::type type;
65
template<> struct lambda_impl< int_<2> >
67
template< typename F, typename Tag, typename Protect > struct result_
69
typedef lambda< typename F::arg1, Tag, false_ > l1;
70
typedef lambda< typename F::arg2, Tag, false_ > l2;
72
typedef typename l1::is_le is_le1;
73
typedef typename l2::is_le is_le2;
76
typedef aux::lambda_or<
77
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
82
, typename l1::type, typename l2::type
87
, if_< Protect, mpl::protect<bind_>, bind_ >
91
typedef typename type_::type type;
95
template<> struct lambda_impl< int_<3> >
97
template< typename F, typename Tag, typename Protect > struct result_
99
typedef lambda< typename F::arg1, Tag, false_ > l1;
100
typedef lambda< typename F::arg2, Tag, false_ > l2;
101
typedef lambda< typename F::arg3, Tag, false_ > l3;
103
typedef typename l1::is_le is_le1;
104
typedef typename l2::is_le is_le2;
105
typedef typename l3::is_le is_le3;
108
typedef aux::lambda_or<
109
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
114
, typename l1::type, typename l2::type, typename l3::type
117
typedef typename if_<
119
, if_< Protect, mpl::protect<bind_>, bind_ >
123
typedef typename type_::type type;
127
template<> struct lambda_impl< int_<4> >
129
template< typename F, typename Tag, typename Protect > struct result_
131
typedef lambda< typename F::arg1, Tag, false_ > l1;
132
typedef lambda< typename F::arg2, Tag, false_ > l2;
133
typedef lambda< typename F::arg3, Tag, false_ > l3;
134
typedef lambda< typename F::arg4, Tag, false_ > l4;
136
typedef typename l1::is_le is_le1;
137
typedef typename l2::is_le is_le2;
138
typedef typename l3::is_le is_le3;
139
typedef typename l4::is_le is_le4;
142
typedef aux::lambda_or<
143
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
148
, typename l1::type, typename l2::type, typename l3::type
152
typedef typename if_<
154
, if_< Protect, mpl::protect<bind_>, bind_ >
158
typedef typename type_::type type;
162
template<> struct lambda_impl< int_<5> >
164
template< typename F, typename Tag, typename Protect > struct result_
166
typedef lambda< typename F::arg1, Tag, false_ > l1;
167
typedef lambda< typename F::arg2, Tag, false_ > l2;
168
typedef lambda< typename F::arg3, Tag, false_ > l3;
169
typedef lambda< typename F::arg4, Tag, false_ > l4;
170
typedef lambda< typename F::arg5, Tag, false_ > l5;
172
typedef typename l1::is_le is_le1;
173
typedef typename l2::is_le is_le2;
174
typedef typename l3::is_le is_le3;
175
typedef typename l4::is_le is_le4;
176
typedef typename l5::is_le is_le5;
179
typedef aux::lambda_or<
180
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
185
, typename l1::type, typename l2::type, typename l3::type
186
, typename l4::type, typename l5::type
189
typedef typename if_<
191
, if_< Protect, mpl::protect<bind_>, bind_ >
195
typedef typename type_::type type;
208
/// Metafunction forwarding confuses MSVC 6.x
209
typedef typename aux::template_arity<T>::type arity_;
210
typedef typename aux::lambda_impl<arity_>
211
::template result_< T,Tag,Protect > l_;
213
typedef typename l_::type type;
214
typedef typename l_::is_le is_le;
215
BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
218
BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
223
struct is_lambda_expression