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