mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-05 15:54:39 +02:00
more MIPSpro fixes
[SVN r24948]
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
#include <boost/mpl/if.hpp>
|
#include <boost/mpl/if.hpp>
|
||||||
#include <boost/mpl/int.hpp>
|
#include <boost/mpl/int.hpp>
|
||||||
#include <boost/mpl/aux_/config/msvc.hpp>
|
#include <boost/mpl/aux_/config/integral.hpp>
|
||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
namespace boost { namespace mpl { namespace aux {
|
namespace boost { namespace mpl { namespace aux {
|
||||||
@@ -38,8 +38,7 @@ template<> struct integral_rank<long> : int_<10> {};
|
|||||||
template<> struct integral_rank<unsigned long> : int_<11> {};
|
template<> struct integral_rank<unsigned long> : int_<11> {};
|
||||||
|
|
||||||
template< typename T1, typename T2 > struct largest_int
|
template< typename T1, typename T2 > struct largest_int
|
||||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
|
#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
|
||||||
&& !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
|
||||||
: if_c<
|
: if_c<
|
||||||
( integral_rank<T1>::value >= integral_rank<T2>::value )
|
( integral_rank<T1>::value >= integral_rank<T2>::value )
|
||||||
, T1
|
, T1
|
||||||
|
@@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
#include <boost/mpl/integral_c.hpp>
|
#include <boost/mpl/integral_c.hpp>
|
||||||
#include <boost/mpl/aux_/msvc_eti_base.hpp>
|
#include <boost/mpl/aux_/msvc_eti_base.hpp>
|
||||||
#include <boost/mpl/aux_/config/eti.hpp>
|
|
||||||
#include <boost/mpl/aux_/na_spec.hpp>
|
#include <boost/mpl/aux_/na_spec.hpp>
|
||||||
#include <boost/mpl/aux_/lambda_support.hpp>
|
#include <boost/mpl/aux_/lambda_support.hpp>
|
||||||
#include <boost/mpl/aux_/config/msvc.hpp>
|
#include <boost/mpl/aux_/config/eti.hpp>
|
||||||
#include <boost/mpl/aux_/config/workaround.hpp>
|
#include <boost/mpl/aux_/config/integral.hpp>
|
||||||
|
#include <boost/mpl/aux_/config/static_constant.hpp>
|
||||||
|
|
||||||
namespace boost { namespace mpl {
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
@@ -52,11 +52,11 @@ struct negate
|
|||||||
BOOST_MPL_AUX_NA_SPEC(1, negate)
|
BOOST_MPL_AUX_NA_SPEC(1, negate)
|
||||||
|
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
|
||||||
namespace aux {
|
namespace aux {
|
||||||
template< typename T, T n > struct msvc_negate_impl
|
template< typename T, T n > struct negate_wknd
|
||||||
{
|
{
|
||||||
enum msvc_wknd { value = -n };
|
BOOST_STATIC_CONSTANT(T, value = -n);
|
||||||
typedef integral_c<T,value> type;
|
typedef integral_c<T,value> type;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -65,9 +65,9 @@ template< typename T, T n > struct msvc_negate_impl
|
|||||||
template<>
|
template<>
|
||||||
struct negate_impl<integral_c_tag>
|
struct negate_impl<integral_c_tag>
|
||||||
{
|
{
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
|
||||||
template< typename N > struct apply
|
template< typename N > struct apply
|
||||||
: aux::msvc_negate_impl< typename N::value_type, N::value >
|
: aux::negate_wknd< typename N::value_type, N::value >
|
||||||
#else
|
#else
|
||||||
template< typename N > struct apply
|
template< typename N > struct apply
|
||||||
: integral_c< typename N::value_type, (-N::value) >
|
: integral_c< typename N::value_type, (-N::value) >
|
||||||
|
Reference in New Issue
Block a user