mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-05 15:54:39 +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 N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
#else
|
#else
|
||||||
: aux::BOOST_PP_CAT(BOOST_PP_CAT(msvc_,AUX778076_OP_PREFIX),_impl)<
|
: aux::BOOST_PP_CAT(BOOST_PP_CAT(msvc_,AUX778076_OP_PREFIX),_impl)<
|
||||||
|
@@ -43,12 +43,15 @@ namespace boost { namespace mpl {
|
|||||||
// MSVC workaround: implement less in terms of greater
|
// MSVC workaround: implement less in terms of greater
|
||||||
#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
|
#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
|
||||||
# define AUX778076_OP(N1, N2) \
|
# define AUX778076_OP(N1, N2) \
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) \
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) \
|
||||||
|
) \
|
||||||
/**/
|
/**/
|
||||||
#else
|
#else
|
||||||
# define AUX778076_OP(N1, N2) \
|
# define AUX778076_OP(N1, N2) \
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) \
|
||||||
AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value ) \
|
AUX778076_OP_TOKEN BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) \
|
||||||
|
) \
|
||||||
/**/
|
/**/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -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
|
struct AUX778076_OP_IMPL_NAME
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
#endif
|
#endif
|
||||||
, aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
|
, aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
|
||||||
, aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
|
, aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag2>,Tag1,Tag2 >
|
||||||
@@ -93,7 +95,7 @@ struct AUX778076_OP_IMPL_NAME
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct AUX778076_OP_IMPL_NAME<na,na>
|
template<> struct AUX778076_OP_IMPL_NAME<na,na>
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitand_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitxor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct divides_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct minus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct modulus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct not_equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct plus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_left_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_right_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct times_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitand_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitxor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct divides_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct minus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct modulus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct not_equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct plus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_left_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_right_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct times_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitand_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitxor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct divides_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct minus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct modulus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct not_equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct plus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_left_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_right_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct times_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitand_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitand_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
& BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
& BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
| BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
| BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct bitxor_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -134,8 +136,9 @@ struct bitxor_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
^ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct divides_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct divides_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
/ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) == BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct greater_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) > BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct less_equal_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <= BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct minus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct minus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
- BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct modulus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -87,8 +89,9 @@ struct modulus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
% BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
% BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct not_equal_to_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -83,7 +85,7 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
{
|
{
|
||||||
template< typename N1, typename N2 > struct apply
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
: bool_< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) != BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) ) >
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct plus_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct plus_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
+ BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_left_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
<< BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
<< BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -26,7 +28,7 @@ struct shift_right_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -81,12 +83,13 @@ namespace boost { namespace mpl {
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: integral_c<
|
: integral_c<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N::value_type, N)
|
||||||
>> BOOST_MPL_AUX_VALUE_WKND(Shift)::value )
|
>> BOOST_MPL_AUX_NESTED_VALUE_WKND(typename S::value_type, S)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -17,7 +17,9 @@ template<
|
|||||||
>
|
>
|
||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( Tag1::value > Tag2::value )
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
@@ -25,7 +27,7 @@ struct times_impl
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -133,8 +135,9 @@ struct times_impl< integral_c_tag,integral_c_tag >
|
|||||||
typename N1::value_type
|
typename N1::value_type
|
||||||
, typename N2::value_type
|
, typename N2::value_type
|
||||||
>::type
|
>::type
|
||||||
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
, ( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1)
|
||||||
* BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
* BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2)
|
||||||
|
)
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) >
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N1)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: aux::msvc_shift_left_impl<
|
: aux::msvc_shift_left_impl<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, typename Shift::value_type
|
, typename S::value_type
|
||||||
, N::value
|
, N::value
|
||||||
, Shift::value
|
, S::value
|
||||||
>::type
|
>::type
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: aux::msvc_shift_right_impl<
|
: aux::msvc_shift_right_impl<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, typename Shift::value_type
|
, typename S::value_type
|
||||||
, N::value
|
, N::value
|
||||||
, Shift::value
|
, S::value
|
||||||
>::type
|
>::type
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitand_impl
|
struct bitand_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitand_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitand_impl< na,na >
|
template<> struct bitand_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitor_impl
|
struct bitor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitor_impl< na,na >
|
template<> struct bitor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct bitxor_impl
|
struct bitxor_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< bitxor_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct bitxor_impl< na,na >
|
template<> struct bitxor_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct divides_impl
|
struct divides_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< divides_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct divides_impl< na,na >
|
template<> struct divides_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct equal_to_impl
|
struct equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct equal_to_impl< na,na >
|
template<> struct equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) ==
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct greater_impl
|
struct greater_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_impl< na,na >
|
template<> struct greater_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct greater_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct greater_equal_impl
|
struct greater_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< greater_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct greater_equal_impl< na,na >
|
template<> struct greater_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) >=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct less_impl
|
struct less_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_impl< na,na >
|
template<> struct less_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct less_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) >
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N1)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct less_equal_impl
|
struct less_equal_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< less_equal_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct less_equal_impl< na,na >
|
template<> struct less_equal_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct less_equal_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) <=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct minus_impl
|
struct minus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< minus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct minus_impl< na,na >
|
template<> struct minus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct modulus_impl
|
struct modulus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< modulus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct modulus_impl< na,na >
|
template<> struct modulus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct not_equal_to_impl
|
struct not_equal_to_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< not_equal_to_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct not_equal_to_impl< na,na >
|
template<> struct not_equal_to_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -93,8 +92,8 @@ struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
|||||||
|
|
||||||
{
|
{
|
||||||
enum { value =
|
enum { value =
|
||||||
( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N1::value_type, N1) !=
|
||||||
BOOST_MPL_AUX_VALUE_WKND(N2)::value )
|
BOOST_MPL_AUX_NESTED_VALUE_WKND(typename N2::value_type, N2) )
|
||||||
};
|
};
|
||||||
typedef bool_<value> type;
|
typedef bool_<value> type;
|
||||||
};
|
};
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct plus_impl
|
struct plus_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< plus_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct plus_impl< na,na >
|
template<> struct plus_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct shift_left_impl
|
struct shift_left_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_left_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_left_impl< na,na >
|
template<> struct shift_left_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -100,13 +99,12 @@ struct msvc_shift_left_impl
|
|||||||
template<>
|
template<>
|
||||||
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: aux::msvc_shift_left_impl<
|
: aux::msvc_shift_left_impl<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, typename Shift::value_type
|
, typename S::value_type
|
||||||
, N::value
|
, N::value
|
||||||
, Shift::value
|
, S::value
|
||||||
>::type
|
>::type
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@@ -22,14 +22,13 @@ template<
|
|||||||
struct shift_right_impl
|
struct shift_right_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< shift_right_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct shift_right_impl< na,na >
|
template<> struct shift_right_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
@@ -100,13 +99,12 @@ struct msvc_shift_right_impl
|
|||||||
template<>
|
template<>
|
||||||
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
{
|
{
|
||||||
template< typename N, typename Shift > struct apply
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
: aux::msvc_shift_right_impl<
|
: aux::msvc_shift_right_impl<
|
||||||
typename N::value_type
|
typename N::value_type
|
||||||
, typename Shift::value_type
|
, typename S::value_type
|
||||||
, N::value
|
, N::value
|
||||||
, Shift::value
|
, S::value
|
||||||
>::type
|
>::type
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@@ -21,14 +21,13 @@ template<
|
|||||||
struct times_impl
|
struct times_impl
|
||||||
: if_c<
|
: if_c<
|
||||||
( tag1_ > tag2_ )
|
( tag1_ > tag2_ )
|
||||||
|
|
||||||
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast2nd_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
, aux::cast1st_impl< times_impl< Tag1,Tag2 >,Tag1, Tag2 >
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// for Digital Mars C++/compilers with no CTPS support
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
template<> struct times_impl< na,na >
|
template<> struct times_impl< na,na >
|
||||||
{
|
{
|
||||||
template< typename U1, typename U2 > struct apply
|
template< typename U1, typename U2 > struct apply
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user