MPL: Remove apply-wrap workaround for no-longer-supported MSVC

[SVN r85947]
This commit is contained in:
Stephen Kelly
2013-09-26 09:47:19 +00:00
parent 310ab7a6ce
commit 83d7bb938f
2 changed files with 1 additions and 36 deletions

View File

@@ -143,19 +143,11 @@ template<
typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
> >
struct BOOST_PP_CAT(apply,i_) struct BOOST_PP_CAT(apply,i_)
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
: BOOST_PP_CAT(apply_wrap,i_)< : BOOST_PP_CAT(apply_wrap,i_)<
typename lambda<F>::type typename lambda<F>::type
AUX778076_APPLY_N_COMMA_PARAMS(i_, T) AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
> >
{ {
#else
{
typedef typename BOOST_PP_CAT(apply_wrap,i_)<
typename lambda<F>::type
AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
>::type type;
#endif
BOOST_MPL_AUX_LAMBDA_SUPPORT( BOOST_MPL_AUX_LAMBDA_SUPPORT(
BOOST_PP_INC(i_) BOOST_PP_INC(i_)
, BOOST_PP_CAT(apply,i_) , BOOST_PP_CAT(apply,i_)

View File

@@ -85,26 +85,7 @@ namespace boost { namespace mpl {
# define i_ BOOST_PP_FRAME_ITERATION(1) # define i_ BOOST_PP_FRAME_ITERATION(1)
# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) # if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
// MSVC version
#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_)
#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply
#define AUX778076_MSVC_DTW_ARITY i_
#include <boost/mpl/aux_/msvc_dtw.hpp>
template<
typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
>
struct BOOST_PP_CAT(apply_wrap,i_)
{
// Metafunction forwarding confuses vc6
typedef typename BOOST_PP_CAT(msvc_apply,i_)<F>::template result_<
AUX778076_APPLY_WRAP_PARAMS(i_, T)
>::type type;
};
# elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
// MWCW/Borland version // MWCW/Borland version
template< template<
@@ -138,16 +119,8 @@ template<
#endif #endif
> >
struct BOOST_PP_CAT(apply_wrap,i_) struct BOOST_PP_CAT(apply_wrap,i_)
// metafunction forwarding confuses MSVC 7.0
#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
: F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) > : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >
{ {
#else
{
typedef typename F::template apply<
AUX778076_APPLY_WRAP_PARAMS(i_, T)
>::type type;
#endif
}; };
#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)