1.1 --- a/epoc32/include/stdapis/boost/mpl/aux_/preprocessed/plain/times.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/preprocessed/plain/times.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,6 +1,3 @@
1.4 -
1.5 -#ifndef BOOST_MPL_TIMES_HPP_INCLUDED
1.6 -#define BOOST_MPL_TIMES_HPP_INCLUDED
1.7
1.8 // Copyright Aleksey Gurtovoy 2000-2004
1.9 //
1.10 @@ -8,14 +5,137 @@
1.11 // (See accompanying file LICENSE_1_0.txt or copy at
1.12 // http://www.boost.org/LICENSE_1_0.txt)
1.13 //
1.14 -// See http://www.boost.org/libs/mpl for documentation.
1.15
1.16 -// $Source: /cvsroot/boost/boost/boost/mpl/times.hpp,v $
1.17 -// $Date: 2004/09/02 15:40:42 $
1.18 -// $Revision: 1.2 $
1.19 +// Preprocessed version of "boost/mpl/times.hpp" header
1.20 +// -- DO NOT modify by hand!
1.21
1.22 -#define AUX778076_OP_NAME times
1.23 -#define AUX778076_OP_TOKEN *
1.24 -#include <boost/mpl/aux_/arithmetic_op.hpp>
1.25 +namespace boost { namespace mpl {
1.26
1.27 -#endif // BOOST_MPL_TIMES_HPP_INCLUDED
1.28 +template<
1.29 + typename Tag1
1.30 + , typename Tag2
1.31 + >
1.32 +struct times_impl
1.33 + : if_c<
1.34 + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
1.35 + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
1.36 + )
1.37 +
1.38 + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
1.39 + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
1.40 + >::type
1.41 +{
1.42 +};
1.43 +
1.44 +/// for Digital Mars C++/compilers with no CTPS/TTP support
1.45 +template<> struct times_impl< na,na >
1.46 +{
1.47 + template< typename U1, typename U2 > struct apply
1.48 + {
1.49 + typedef apply type;
1.50 + BOOST_STATIC_CONSTANT(int, value = 0);
1.51 + };
1.52 +};
1.53 +
1.54 +template< typename Tag > struct times_impl< na,Tag >
1.55 +{
1.56 + template< typename U1, typename U2 > struct apply
1.57 + {
1.58 + typedef apply type;
1.59 + BOOST_STATIC_CONSTANT(int, value = 0);
1.60 + };
1.61 +};
1.62 +
1.63 +template< typename Tag > struct times_impl< Tag,na >
1.64 +{
1.65 + template< typename U1, typename U2 > struct apply
1.66 + {
1.67 + typedef apply type;
1.68 + BOOST_STATIC_CONSTANT(int, value = 0);
1.69 + };
1.70 +};
1.71 +
1.72 +template< typename T > struct times_tag
1.73 +{
1.74 + typedef typename T::tag type;
1.75 +};
1.76 +
1.77 +template<
1.78 + typename BOOST_MPL_AUX_NA_PARAM(N1)
1.79 + , typename BOOST_MPL_AUX_NA_PARAM(N2)
1.80 + , typename N3 = na, typename N4 = na, typename N5 = na
1.81 + >
1.82 +struct times
1.83 + : times< times< times< times< N1,N2 >, N3>, N4>, N5>
1.84 +{
1.85 +};
1.86 +
1.87 +template<
1.88 + typename N1, typename N2, typename N3, typename N4
1.89 + >
1.90 +struct times< N1,N2,N3,N4,na >
1.91 +
1.92 + : times< times< times< N1,N2 >, N3>, N4>
1.93 +{
1.94 + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
1.95 + 5
1.96 + , times
1.97 + , ( N1, N2, N3, N4, na )
1.98 + )
1.99 +};
1.100 +
1.101 +template<
1.102 + typename N1, typename N2, typename N3
1.103 + >
1.104 +struct times< N1,N2,N3,na,na >
1.105 +
1.106 + : times< times< N1,N2 >, N3>
1.107 +{
1.108 + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
1.109 + 5
1.110 + , times
1.111 + , ( N1, N2, N3, na, na )
1.112 + )
1.113 +};
1.114 +
1.115 +template<
1.116 + typename N1, typename N2
1.117 + >
1.118 +struct times< N1,N2,na,na,na >
1.119 + : times_impl<
1.120 + typename times_tag<N1>::type
1.121 + , typename times_tag<N2>::type
1.122 + >::template apply< N1,N2 >::type
1.123 +{
1.124 + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
1.125 + 5
1.126 + , times
1.127 + , ( N1, N2, na, na, na )
1.128 + )
1.129 +
1.130 +};
1.131 +
1.132 +BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
1.133 +
1.134 +}}
1.135 +
1.136 +namespace boost { namespace mpl {
1.137 +template<>
1.138 +struct times_impl< integral_c_tag,integral_c_tag >
1.139 +{
1.140 + template< typename N1, typename N2 > struct apply
1.141 +
1.142 + : integral_c<
1.143 + typename aux::largest_int<
1.144 + typename N1::value_type
1.145 + , typename N2::value_type
1.146 + >::type
1.147 + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
1.148 + * BOOST_MPL_AUX_VALUE_WKND(N2)::value
1.149 + )
1.150 + >
1.151 + {
1.152 + };
1.153 +};
1.154 +
1.155 +}}