diff options
Diffstat (limited to 'contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp')
-rw-r--r-- | contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp | 458 |
1 files changed, 229 insertions, 229 deletions
diff --git a/contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp index 75b30ce..2595766 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp @@ -1,229 +1,229 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// *Preprocessed* version of the main "lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder<T> is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect<bind_>, bind_ > - , identity<F> - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect<bind_>, bind_ > - , identity<F> - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - 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 - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect<bind_>, bind_ > - , identity<F> - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - 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 - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect<bind_>, bind_ > - , identity<F> - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - 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 - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect<bind_>, bind_ > - , identity<F> - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity<T>::type arity_; - typedef typename aux::lambda_impl<arity_> - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda<T>::is_le -{ -}; - -}} - +
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+namespace aux {
+
+template<
+ bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
+ , bool C5 = false
+ >
+struct lambda_or
+ : true_
+{
+};
+
+template<>
+struct lambda_or< false,false,false,false,false >
+ : false_
+{
+};
+
+template< typename Arity > struct lambda_impl
+{
+ template< typename T, typename Tag, typename Protect > struct result_
+ {
+ typedef T type;
+ typedef is_placeholder<T> is_le;
+ };
+};
+
+template<> struct lambda_impl< int_<1> >
+{
+ template< typename F, typename Tag, typename Protect > struct result_
+ {
+ typedef lambda< typename F::arg1, Tag, false_ > l1;
+ typedef typename l1::is_le is_le1;
+ typedef aux::lambda_or<
+ BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+ > is_le;
+
+ typedef bind1<
+ typename F::rebind
+ , typename l1::type
+ > bind_;
+
+ typedef typename if_<
+ is_le
+ , if_< Protect, mpl::protect<bind_>, bind_ >
+ , identity<F>
+ >::type type_;
+
+ typedef typename type_::type type;
+ };
+};
+
+template<> struct lambda_impl< int_<2> >
+{
+ template< typename F, typename Tag, typename Protect > struct result_
+ {
+ typedef lambda< typename F::arg1, Tag, false_ > l1;
+ typedef lambda< typename F::arg2, Tag, false_ > l2;
+
+ typedef typename l1::is_le is_le1;
+ typedef typename l2::is_le is_le2;
+
+
+ typedef aux::lambda_or<
+ BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+ > is_le;
+
+ typedef bind2<
+ typename F::rebind
+ , typename l1::type, typename l2::type
+ > bind_;
+
+ typedef typename if_<
+ is_le
+ , if_< Protect, mpl::protect<bind_>, bind_ >
+ , identity<F>
+ >::type type_;
+
+ typedef typename type_::type type;
+ };
+};
+
+template<> struct lambda_impl< int_<3> >
+{
+ template< typename F, typename Tag, typename Protect > struct result_
+ {
+ typedef lambda< typename F::arg1, Tag, false_ > l1;
+ typedef lambda< typename F::arg2, Tag, false_ > l2;
+ typedef lambda< typename F::arg3, Tag, false_ > l3;
+
+ typedef typename l1::is_le is_le1;
+ typedef typename l2::is_le is_le2;
+ typedef typename l3::is_le is_le3;
+
+
+ typedef aux::lambda_or<
+ 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
+ > is_le;
+
+ typedef bind3<
+ typename F::rebind
+ , typename l1::type, typename l2::type, typename l3::type
+ > bind_;
+
+ typedef typename if_<
+ is_le
+ , if_< Protect, mpl::protect<bind_>, bind_ >
+ , identity<F>
+ >::type type_;
+
+ typedef typename type_::type type;
+ };
+};
+
+template<> struct lambda_impl< int_<4> >
+{
+ template< typename F, typename Tag, typename Protect > struct result_
+ {
+ typedef lambda< typename F::arg1, Tag, false_ > l1;
+ typedef lambda< typename F::arg2, Tag, false_ > l2;
+ typedef lambda< typename F::arg3, Tag, false_ > l3;
+ typedef lambda< typename F::arg4, Tag, false_ > l4;
+
+ typedef typename l1::is_le is_le1;
+ typedef typename l2::is_le is_le2;
+ typedef typename l3::is_le is_le3;
+ typedef typename l4::is_le is_le4;
+
+
+ typedef aux::lambda_or<
+ 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
+ > is_le;
+
+ typedef bind4<
+ typename F::rebind
+ , typename l1::type, typename l2::type, typename l3::type
+ , typename l4::type
+ > bind_;
+
+ typedef typename if_<
+ is_le
+ , if_< Protect, mpl::protect<bind_>, bind_ >
+ , identity<F>
+ >::type type_;
+
+ typedef typename type_::type type;
+ };
+};
+
+template<> struct lambda_impl< int_<5> >
+{
+ template< typename F, typename Tag, typename Protect > struct result_
+ {
+ typedef lambda< typename F::arg1, Tag, false_ > l1;
+ typedef lambda< typename F::arg2, Tag, false_ > l2;
+ typedef lambda< typename F::arg3, Tag, false_ > l3;
+ typedef lambda< typename F::arg4, Tag, false_ > l4;
+ typedef lambda< typename F::arg5, Tag, false_ > l5;
+
+ typedef typename l1::is_le is_le1;
+ typedef typename l2::is_le is_le2;
+ typedef typename l3::is_le is_le3;
+ typedef typename l4::is_le is_le4;
+ typedef typename l5::is_le is_le5;
+
+
+ typedef aux::lambda_or<
+ 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
+ > is_le;
+
+ typedef bind5<
+ typename F::rebind
+ , typename l1::type, typename l2::type, typename l3::type
+ , typename l4::type, typename l5::type
+ > bind_;
+
+ typedef typename if_<
+ is_le
+ , if_< Protect, mpl::protect<bind_>, bind_ >
+ , identity<F>
+ >::type type_;
+
+ typedef typename type_::type type;
+ };
+};
+
+} // namespace aux
+
+template<
+ typename T
+ , typename Tag
+ , typename Protect
+ >
+struct lambda
+{
+ /// Metafunction forwarding confuses MSVC 6.x
+ typedef typename aux::template_arity<T>::type arity_;
+ typedef typename aux::lambda_impl<arity_>
+ ::template result_< T,Tag,Protect > l_;
+
+ typedef typename l_::type type;
+ typedef typename l_::is_le is_le;
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+};
+
+BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+
+template<
+ typename T
+ >
+struct is_lambda_expression
+ : lambda<T>::is_le
+{
+};
+
+}}
+
|