]> git.lyx.org Git - features.git/blobdiff - boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
boost: add eol property
[features.git] / boost / boost / mpl / aux_ / preprocessed / bcc_pre590 / divides.hpp
index 74765f95c187bcee3bea160ac25b7338ac7f63b1..6b4178a9c73f30082b14c78699c2edd28154d2b7 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 "divides.hpp" header\r
-// -- DO NOT modify by hand!\r
-\r
-namespace boost { namespace mpl {\r
-\r
-template<\r
-      typename Tag1\r
-    , typename Tag2\r
-    >\r
-struct divides_impl\r
-    : if_c<\r
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)\r
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)\r
-            )\r
-\r
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >\r
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >\r
-        >::type\r
-{\r
-};\r
-\r
-/// for Digital Mars C++/compilers with no CTPS/TTP support\r
-template<> struct divides_impl< na,na >\r
-{\r
-    template< typename U1, typename U2 > struct apply\r
-    {\r
-        typedef apply type;\r
-        BOOST_STATIC_CONSTANT(int, value  = 0);\r
-    };\r
-};\r
-\r
-template< typename Tag > struct divides_impl< na,Tag >\r
-{\r
-    template< typename U1, typename U2 > struct apply\r
-    {\r
-        typedef apply type;\r
-        BOOST_STATIC_CONSTANT(int, value  = 0);\r
-    };\r
-};\r
-\r
-template< typename Tag > struct divides_impl< Tag,na >\r
-{\r
-    template< typename U1, typename U2 > struct apply\r
-    {\r
-        typedef apply type;\r
-        BOOST_STATIC_CONSTANT(int, value  = 0);\r
-    };\r
-};\r
-\r
-template< typename T > struct divides_tag\r
-{\r
-    typedef typename T::tag type;\r
-};\r
-\r
-template<\r
-      typename BOOST_MPL_AUX_NA_PARAM(N1)\r
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)\r
-    , typename N3 = na, typename N4 = na, typename N5 = na\r
-    >\r
-struct divides\r
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>\r
-{\r
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(\r
-          5\r
-        , divides\r
-        , ( N1, N2, N3, N4, N5 )\r
-        )\r
-};\r
-\r
-template<\r
-      typename N1, typename N2, typename N3, typename N4\r
-    >\r
-struct divides< N1,N2,N3,N4,na >\r
-\r
-    : divides< divides< divides< N1,N2 >, N3>, N4>\r
-{\r
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
-          5\r
-        , divides\r
-        , ( N1, N2, N3, N4, na )\r
-        )\r
-};\r
-\r
-template<\r
-      typename N1, typename N2, typename N3\r
-    >\r
-struct divides< N1,N2,N3,na,na >\r
-\r
-    : divides< divides< N1,N2 >, N3>\r
-{\r
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
-          5\r
-        , divides\r
-        , ( N1, N2, N3, na, na )\r
-        )\r
-};\r
-\r
-template<\r
-      typename N1, typename N2\r
-    >\r
-struct divides< N1,N2,na,na,na >\r
-    : divides_impl<\r
-          typename divides_tag<N1>::type\r
-        , typename divides_tag<N2>::type\r
-        >::template apply< N1,N2 >::type\r
-{\r
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(\r
-          5\r
-        , divides\r
-        , ( N1, N2, na, na, na )\r
-        )\r
-\r
-};\r
-\r
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)\r
-\r
-}}\r
-\r
-namespace boost { namespace mpl {\r
-template<>\r
-struct divides_impl< integral_c_tag,integral_c_tag >\r
-{\r
-    template< typename N1, typename N2 > struct apply\r
-\r
-        : integral_c<\r
-              typename aux::largest_int<\r
-                  typename N1::value_type\r
-                , typename N2::value_type\r
-                >::type\r
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value\r
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value\r
-                )\r
-            >\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 "divides.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+      typename Tag1
+    , typename Tag2
+    >
+struct divides_impl
+    : if_c<
+          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
+              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
+            )
+
+        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
+        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
+        >::type
+{
+};
+
+/// for Digital Mars C++/compilers with no CTPS/TTP support
+template<> struct divides_impl< na,na >
+{
+    template< typename U1, typename U2 > struct apply
+    {
+        typedef apply type;
+        BOOST_STATIC_CONSTANT(int, value  = 0);
+    };
+};
+
+template< typename Tag > struct divides_impl< na,Tag >
+{
+    template< typename U1, typename U2 > struct apply
+    {
+        typedef apply type;
+        BOOST_STATIC_CONSTANT(int, value  = 0);
+    };
+};
+
+template< typename Tag > struct divides_impl< Tag,na >
+{
+    template< typename U1, typename U2 > struct apply
+    {
+        typedef apply type;
+        BOOST_STATIC_CONSTANT(int, value  = 0);
+    };
+};
+
+template< typename T > struct divides_tag
+{
+    typedef typename T::tag type;
+};
+
+template<
+      typename BOOST_MPL_AUX_NA_PARAM(N1)
+    , typename BOOST_MPL_AUX_NA_PARAM(N2)
+    , typename N3 = na, typename N4 = na, typename N5 = na
+    >
+struct divides
+    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
+{
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+          5
+        , divides
+        , ( N1, N2, N3, N4, N5 )
+        )
+};
+
+template<
+      typename N1, typename N2, typename N3, typename N4
+    >
+struct divides< N1,N2,N3,N4,na >
+
+    : divides< divides< divides< N1,N2 >, N3>, N4>
+{
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+          5
+        , divides
+        , ( N1, N2, N3, N4, na )
+        )
+};
+
+template<
+      typename N1, typename N2, typename N3
+    >
+struct divides< N1,N2,N3,na,na >
+
+    : divides< divides< N1,N2 >, N3>
+{
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+          5
+        , divides
+        , ( N1, N2, N3, na, na )
+        )
+};
+
+template<
+      typename N1, typename N2
+    >
+struct divides< N1,N2,na,na,na >
+    : divides_impl<
+          typename divides_tag<N1>::type
+        , typename divides_tag<N2>::type
+        >::template apply< N1,N2 >::type
+{
+    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+          5
+        , divides
+        , ( N1, N2, na, na, na )
+        )
+
+};
+
+BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+
+}}
+
+namespace boost { namespace mpl {
+template<>
+struct divides_impl< integral_c_tag,integral_c_tag >
+{
+    template< typename N1, typename N2 > struct apply
+
+        : integral_c<
+              typename aux::largest_int<
+                  typename N1::value_type
+                , typename N2::value_type
+                >::type
+            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
+                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
+                )
+            >
+    {
+    };
+};
+
+}}