MIPSpro 7.3 workarounds

[SVN r24944]
This commit is contained in:
Aleksey Gurtovoy
2004-09-07 02:56:52 +00:00
parent 1a7a514fca
commit 15b5566796
167 changed files with 915 additions and 625 deletions

View File

@@ -61,8 +61,9 @@ struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value ) AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
#else #else
: aux::BOOST_PP_CAT(BOOST_PP_CAT(msvc_,AUX778076_OP_PREFIX),_impl)< : aux::BOOST_PP_CAT(BOOST_PP_CAT(msvc_,AUX778076_OP_PREFIX),_impl)<

View File

@@ -43,12 +43,15 @@ namespace boost { namespace mpl {
// MSVC workaround: implement less in terms of greater // MSVC workaround: implement less in terms of greater
#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0) #if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
# define AUX778076_OP(N1, N2) \ # define AUX778076_OP(N1, N2) \
( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \ ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) \
> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) \
) \
/**/ /**/
#else #else
# define AUX778076_OP(N1, N2) \ # define AUX778076_OP(N1, N2) \
( BOOST_MPL_AUX_VALUE_WKND(N1)::value \ ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) \
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value ) \ AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) \
) \
/**/ /**/
#endif #endif

View File

@@ -1,28 +0,0 @@
#ifndef BOOST_MPL_AUX_ICE_CAST_HPP_INCLUDED
#define BOOST_MPL_AUX_ICE_CAST_HPP_INCLUDED
// Copyright Aleksey Gurtovoy 2001-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)
//
// See http://www.boost.org/libs/mpl for documentation.
// $Source$
// $Date$
// $Revision$
#include <boost/mpl/aux_/config/workaround.hpp>
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
|| BOOST_WORKAROUND(__GNUC__, < 3)
# define BOOST_MPL_AUX_ICE_CAST(T, expr) (T)(expr)
#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3001)
# define BOOST_MPL_AUX_ICE_CAST(T, expr) (T)(expr)
#else
# define BOOST_MPL_AUX_ICE_CAST(T, expr) static_cast<T>(expr)
#endif
#endif // BOOST_MPL_AUX_ICE_CAST_HPP_INCLUDED

View File

@@ -85,7 +85,9 @@ struct AUX778076_OP_IMPL_NAME
> >
struct AUX778076_OP_IMPL_NAME struct AUX778076_OP_IMPL_NAME
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
#endif #endif
, aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 > , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
, aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 > , aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
@@ -93,7 +95,7 @@ struct AUX778076_OP_IMPL_NAME
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct AUX778076_OP_IMPL_NAME<na,na> template<> struct AUX778076_OP_IMPL_NAME<na,na>
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitand_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
& BOOST_MPL_AUX_VALUE_WKND(N2)::value ) & BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
| BOOST_MPL_AUX_VALUE_WKND(N2)::value ) | BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitxor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) ^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct divides_impl struct divides_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct divides_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) / BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_impl struct greater_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_impl struct less_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct minus_impl struct minus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct minus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
- BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct modulus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
% BOOST_MPL_AUX_VALUE_WKND(N2)::value ) % BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct not_equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct plus_impl struct plus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct plus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_left_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) << BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_right_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) >> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct times_impl struct times_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct times_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
* BOOST_MPL_AUX_VALUE_WKND(N2)::value ) * BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitand_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
& BOOST_MPL_AUX_VALUE_WKND(N2)::value ) & BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
| BOOST_MPL_AUX_VALUE_WKND(N2)::value ) | BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitxor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) ^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct divides_impl struct divides_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct divides_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) / BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_impl struct greater_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_impl struct less_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct minus_impl struct minus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct minus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
- BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct modulus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
% BOOST_MPL_AUX_VALUE_WKND(N2)::value ) % BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct not_equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct plus_impl struct plus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct plus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_left_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) << BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_right_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) >> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct times_impl struct times_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct times_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
* BOOST_MPL_AUX_VALUE_WKND(N2)::value ) * BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitand_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
& BOOST_MPL_AUX_VALUE_WKND(N2)::value ) & BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
| BOOST_MPL_AUX_VALUE_WKND(N2)::value ) | BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitxor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) ^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct divides_impl struct divides_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct divides_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) / BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_impl struct greater_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_impl struct less_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct minus_impl struct minus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct minus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
- BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct modulus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
% BOOST_MPL_AUX_VALUE_WKND(N2)::value ) % BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct not_equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct plus_impl struct plus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct plus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_left_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) << BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_right_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) >> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct times_impl struct times_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct times_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
* BOOST_MPL_AUX_VALUE_WKND(N2)::value ) * BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitand_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
& BOOST_MPL_AUX_VALUE_WKND(N2)::value ) & BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
| BOOST_MPL_AUX_VALUE_WKND(N2)::value ) | BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct bitxor_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) ^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct divides_impl struct divides_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct divides_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) / BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_impl struct greater_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct greater_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_impl struct less_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct less_equal_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct minus_impl struct minus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct minus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
- BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct modulus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
% BOOST_MPL_AUX_VALUE_WKND(N2)::value ) % BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct not_equal_to_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N1, typename N2 > struct apply template< typename N1, typename N2 > struct apply
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > : bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
{ {
}; };
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct plus_impl struct plus_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct plus_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_left_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) << BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -18,7 +18,9 @@ template<
> >
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -26,7 +28,7 @@ struct shift_right_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: integral_c< : integral_c<
typename N::value_type typename N::value_type
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value ) >> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
)
> >
{ {
}; };

View File

@@ -17,7 +17,9 @@ template<
> >
struct times_impl struct times_impl
: if_c< : if_c<
( Tag1::value > Tag2::value ) ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
)
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
@@ -25,7 +27,7 @@ struct times_impl
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
typename N1::value_type typename N1::value_type
, typename N2::value_type , typename N2::value_type
>::type >::type
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value , ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
* BOOST_MPL_AUX_VALUE_WKND(N2)::value ) * BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
)
> >
{ {
}; };

View File

@@ -22,14 +22,13 @@ template<
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct divides_impl struct divides_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value == ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct greater_impl struct greater_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value > ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct less_impl struct less_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N2)::value > ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) >
BOOST_MPL_AUX_VALUE_WKND(N1)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct minus_impl struct minus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value != ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct plus_impl struct plus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: aux::msvc_shift_left_impl< : aux::msvc_shift_left_impl<
typename N::value_type typename N::value_type
, typename Shift::value_type , typename S::value_type
, N::value , N::value
, Shift::value , S::value
>::type >::type
{ {

View File

@@ -22,14 +22,13 @@ template<
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: aux::msvc_shift_right_impl< : aux::msvc_shift_right_impl<
typename N::value_type typename N::value_type
, typename Shift::value_type , typename S::value_type
, N::value , N::value
, Shift::value , S::value
>::type >::type
{ {

View File

@@ -21,14 +21,13 @@ template<
struct times_impl struct times_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct bitand_impl struct bitand_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitand_impl< na,na > template<> struct bitand_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct bitor_impl struct bitor_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitor_impl< na,na > template<> struct bitor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct bitxor_impl struct bitxor_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct bitxor_impl< na,na > template<> struct bitxor_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct divides_impl struct divides_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct divides_impl< na,na > template<> struct divides_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct equal_to_impl struct equal_to_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct equal_to_impl< na,na > template<> struct equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value == ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct greater_impl struct greater_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_impl< na,na > template<> struct greater_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value > ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct greater_equal_impl struct greater_equal_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct greater_equal_impl< na,na > template<> struct greater_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct less_impl struct less_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_impl< na,na > template<> struct less_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N2)::value > ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) >
BOOST_MPL_AUX_VALUE_WKND(N1)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct less_equal_impl struct less_equal_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct less_equal_impl< na,na > template<> struct less_equal_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct minus_impl struct minus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct minus_impl< na,na > template<> struct minus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct modulus_impl struct modulus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct modulus_impl< na,na > template<> struct modulus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -21,14 +21,13 @@ template<
struct not_equal_to_impl struct not_equal_to_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct not_equal_to_impl< na,na > template<> struct not_equal_to_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
{ {
enum { value = enum { value =
( BOOST_MPL_AUX_VALUE_WKND(N1)::value != ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
BOOST_MPL_AUX_VALUE_WKND(N2)::value ) BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
}; };
typedef bool_<value> type; typedef bool_<value> type;
}; };

View File

@@ -21,14 +21,13 @@ template<
struct plus_impl struct plus_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct plus_impl< na,na > template<> struct plus_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

View File

@@ -22,14 +22,13 @@ template<
struct shift_left_impl struct shift_left_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_left_impl< na,na > template<> struct shift_left_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
template<> template<>
struct shift_left_impl< integral_c_tag,integral_c_tag > struct shift_left_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: aux::msvc_shift_left_impl< : aux::msvc_shift_left_impl<
typename N::value_type typename N::value_type
, typename Shift::value_type , typename S::value_type
, N::value , N::value
, Shift::value , S::value
>::type >::type
{ {

View File

@@ -22,14 +22,13 @@ template<
struct shift_right_impl struct shift_right_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct shift_right_impl< na,na > template<> struct shift_right_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
template<> template<>
struct shift_right_impl< integral_c_tag,integral_c_tag > struct shift_right_impl< integral_c_tag,integral_c_tag >
{ {
template< typename N, typename Shift > struct apply template< typename N, typename S > struct apply
: aux::msvc_shift_right_impl< : aux::msvc_shift_right_impl<
typename N::value_type typename N::value_type
, typename Shift::value_type , typename S::value_type
, N::value , N::value
, Shift::value , S::value
>::type >::type
{ {

View File

@@ -21,14 +21,13 @@ template<
struct times_impl struct times_impl
: if_c< : if_c<
( tag1_ > tag2_ ) ( tag1_ > tag2_ )
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
> >
{ {
}; };
/// for Digital Mars C++/compilers with no CTPS support /// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct times_impl< na,na > template<> struct times_impl< na,na >
{ {
template< typename U1, typename U2 > struct apply template< typename U1, typename U2 > struct apply

Some files were not shown because too many files have changed in this diff Show More