mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-03 14:54:30 +02:00
MIPSpro compatibility
[SVN r17776]
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
#if !defined(AUX_WRAPPER_NAME)
|
#if !defined(AUX_WRAPPER_NAME)
|
||||||
# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
|
# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
|
||||||
# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
|
# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
|
||||||
# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value >
|
# define AUX_WRAPPER_INST(value) mpl::AUX_WRAPPER_NAME< value >
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace boost { namespace mpl {
|
namespace boost { namespace mpl {
|
||||||
@@ -36,7 +36,7 @@ template< AUX_WRAPPER_PARAMS(N) >
|
|||||||
struct AUX_WRAPPER_NAME
|
struct AUX_WRAPPER_NAME
|
||||||
{
|
{
|
||||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
|
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
|
||||||
typedef AUX_WRAPPER_NAME type;
|
typedef struct AUX_WRAPPER_NAME type;
|
||||||
typedef AUX_WRAPPER_VALUE_TYPE value_type;
|
typedef AUX_WRAPPER_VALUE_TYPE value_type;
|
||||||
|
|
||||||
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
||||||
|
@@ -101,7 +101,7 @@ struct iter_fold_if_forward_step
|
|||||||
typedef typename BOOST_MPL_AUX_APPLY2(Predicate,State,Iterator)::type not_last;
|
typedef typename BOOST_MPL_AUX_APPLY2(Predicate,State,Iterator)::type not_last;
|
||||||
typedef typename iter_fold_if_step_impl<
|
typedef typename iter_fold_if_step_impl<
|
||||||
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
||||||
>::template result_< Iterator,State,ForwardOp,next<Iterator> > impl_;
|
>::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;
|
||||||
|
|
||||||
typedef typename impl_::state state;
|
typedef typename impl_::state state;
|
||||||
typedef typename impl_::iterator iterator;
|
typedef typename impl_::iterator iterator;
|
||||||
|
@@ -124,7 +124,7 @@ template<> struct lambda_impl<i,true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< BOOST_PP_CAT(bind,i)<
|
typedef mpl::protect< BOOST_PP_CAT(bind,i)<
|
||||||
f_
|
f_
|
||||||
BOOST_MPL_PP_REPEAT(i, AUX_LAMBDA_INVOCATION, T)
|
BOOST_MPL_PP_REPEAT(i, AUX_LAMBDA_INVOCATION, T)
|
||||||
> > type;
|
> > type;
|
||||||
|
@@ -55,7 +55,7 @@ struct iter_fold_if_forward_step
|
|||||||
typedef typename Predicate::template apply< State,Iterator >::type not_last;
|
typedef typename Predicate::template apply< State,Iterator >::type not_last;
|
||||||
typedef typename iter_fold_if_step_impl<
|
typedef typename iter_fold_if_step_impl<
|
||||||
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
||||||
>::template result_< Iterator,State,ForwardOp,next<Iterator> > impl_;
|
>::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;
|
||||||
|
|
||||||
typedef typename impl_::state state;
|
typedef typename impl_::state state;
|
||||||
typedef typename impl_::iterator iterator;
|
typedef typename impl_::iterator iterator;
|
||||||
|
@@ -31,7 +31,7 @@ template<> struct lambda_impl<1, true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind1<
|
typedef mpl::protect< bind1<
|
||||||
f_
|
f_
|
||||||
, typename lambda< typename F::arg1, false >::type
|
, typename lambda< typename F::arg1, false >::type
|
||||||
> > type;
|
> > type;
|
||||||
@@ -56,7 +56,7 @@ template<> struct lambda_impl<2, true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind2<
|
typedef mpl::protect< bind2<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type
|
||||||
@@ -82,7 +82,7 @@ template<> struct lambda_impl<3, true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind3<
|
typedef mpl::protect< bind3<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type
|
||||||
@@ -108,7 +108,7 @@ template<> struct lambda_impl<4, true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind4<
|
typedef mpl::protect< bind4<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type
|
||||||
@@ -134,7 +134,7 @@ template<> struct lambda_impl<5, true>
|
|||||||
template< typename F > struct result_
|
template< typename F > struct result_
|
||||||
{
|
{
|
||||||
typedef typename F::rebind f_;
|
typedef typename F::rebind f_;
|
||||||
typedef protect< bind5<
|
typedef mpl::protect< bind5<
|
||||||
f_
|
f_
|
||||||
|
|
||||||
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
,typename lambda< typename F::arg1, false >::type, typename lambda< typename F::arg2, false >::type, typename lambda< typename F::arg3, false >::type, typename lambda< typename F::arg4, false >::type, typename lambda< typename F::arg5, false >::type
|
||||||
|
@@ -29,7 +29,7 @@ template<
|
|||||||
>
|
>
|
||||||
struct protect : T
|
struct protect : T
|
||||||
{
|
{
|
||||||
typedef protect type;
|
typedef struct protect type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
#if defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||||
|
Reference in New Issue
Block a user