mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-03 14:54:30 +02:00
MIPSpro 7.3 workarounds
[SVN r24944]
This commit is contained in:
@@ -61,8 +61,9 @@ struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
#else
|
||||
: aux::BOOST_PP_CAT(BOOST_PP_CAT(msvc_,AUX778076_OP_PREFIX),_impl)<
|
||||
|
@@ -43,12 +43,15 @@ namespace boost { namespace mpl {
|
||||
// MSVC workaround: implement less in terms of greater
|
||||
#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
|
||||
# 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
|
||||
# define AUX778076_OP(N1, N2) \
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
|
||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value ) \
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) \
|
||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) \
|
||||
) \
|
||||
/**/
|
||||
#endif
|
||||
|
||||
|
@@ -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
|
@@ -85,7 +85,9 @@ struct AUX778076_OP_IMPL_NAME
|
||||
>
|
||||
struct AUX778076_OP_IMPL_NAME
|
||||
: if_c<
|
||||
( Tag1::value > Tag2::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||
)
|
||||
#endif
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitand_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitxor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct divides_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct minus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct modulus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct not_equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct plus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_left_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_right_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct times_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitand_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitxor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct divides_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct minus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct modulus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct not_equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct plus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_left_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_right_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct times_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitand_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitxor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct divides_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct minus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct modulus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct not_equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct plus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_left_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_right_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct times_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitand_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct bitxor_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct divides_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct greater_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct less_equal_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct minus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct modulus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct not_equal_to_impl
|
||||
: 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::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< 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
|
||||
|
||||
: 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) ) >
|
||||
{
|
||||
};
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct plus_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_left_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -18,7 +18,9 @@ template<
|
||||
>
|
||||
struct shift_right_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -17,7 +17,9 @@ template<
|
||||
>
|
||||
struct times_impl
|
||||
: 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::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< typename U1, typename U2 > struct apply
|
||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
||||
typename N1::value_type
|
||||
, typename N2::value_type
|
||||
>::type
|
||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||
)
|
||||
>
|
||||
{
|
||||
};
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitand_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitor_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitxor_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct divides_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct equal_to_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct greater_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct greater_equal_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct less_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( 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) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct less_equal_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct minus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct modulus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct not_equal_to_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct plus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct shift_left_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, typename Shift::value_type
|
||||
, typename S::value_type
|
||||
, N::value
|
||||
, Shift::value
|
||||
, S::value
|
||||
>::type
|
||||
|
||||
{
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct shift_right_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, typename Shift::value_type
|
||||
, typename S::value_type
|
||||
, N::value
|
||||
, Shift::value
|
||||
, S::value
|
||||
>::type
|
||||
|
||||
{
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct times_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitand_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitor_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct bitxor_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct divides_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct equal_to_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct greater_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct greater_equal_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct less_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( 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) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct less_equal_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct minus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct modulus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct not_equal_to_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
||||
|
||||
{
|
||||
enum { value =
|
||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
|
||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
||||
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
|
||||
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||
};
|
||||
typedef bool_<value> type;
|
||||
};
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct plus_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct shift_left_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, typename Shift::value_type
|
||||
, typename S::value_type
|
||||
, N::value
|
||||
, Shift::value
|
||||
, S::value
|
||||
>::type
|
||||
|
||||
{
|
||||
|
@@ -22,14 +22,13 @@ template<
|
||||
struct shift_right_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
|
||||
template<>
|
||||
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<
|
||||
typename N::value_type
|
||||
, typename Shift::value_type
|
||||
, typename S::value_type
|
||||
, N::value
|
||||
, Shift::value
|
||||
, S::value
|
||||
>::type
|
||||
|
||||
{
|
||||
|
@@ -21,14 +21,13 @@ template<
|
||||
struct times_impl
|
||||
: if_c<
|
||||
( tag1_ > tag2_ )
|
||||
|
||||
, aux::cast2nd_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< typename U1, typename U2 > struct apply
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user