mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-29 03:57:36 +02:00
adds MSVC workaround
[SVN r36988]
This commit is contained in:
@ -16,6 +16,9 @@
|
|||||||
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
||||||
#include <boost/preprocessor/facilities/intercept.hpp>
|
#include <boost/preprocessor/facilities/intercept.hpp>
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include <boost/detail/workaround.hpp>
|
||||||
|
|
||||||
#include <boost/type_traits/remove_reference.hpp>
|
#include <boost/type_traits/remove_reference.hpp>
|
||||||
|
|
||||||
#include <boost/fusion/support/detail/access.hpp>
|
#include <boost/fusion/support/detail/access.hpp>
|
||||||
@ -29,6 +32,7 @@
|
|||||||
#include <boost/fusion/functional/adapter/detail/has_type.hpp>
|
#include <boost/fusion/functional/adapter/detail/has_type.hpp>
|
||||||
#include <boost/fusion/functional/adapter/detail/nullary_call_base.hpp>
|
#include <boost/fusion/functional/adapter/detail/nullary_call_base.hpp>
|
||||||
|
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -170,12 +174,15 @@ namespace boost { namespace fusion
|
|||||||
return static_cast<Derived const *>(this)->fnc_transformed(arg);
|
return static_cast<Derived const *>(this)->fnc_transformed(arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400) \
|
||||||
|
|| BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY <= 4
|
||||||
inline typename Function::template result<arg_vector_t>::type
|
inline typename Function::template result<arg_vector_t>::type
|
||||||
operator()(BOOST_PP_ENUM(N,M,arg_vector_t))
|
operator()(BOOST_PP_ENUM(N,M,arg_vector_t))
|
||||||
{
|
{
|
||||||
arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a));
|
arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a));
|
||||||
return static_cast<Derived *>(this)->fnc_transformed(arg);
|
return static_cast<Derived *>(this)->fnc_transformed(arg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#undef M
|
#undef M
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user