diff --git a/include/boost/fusion/functional/adapter/unfused_typed.hpp b/include/boost/fusion/functional/adapter/unfused_typed.hpp index 7eae5d53..28a1e7fc 100644 --- a/include/boost/fusion/functional/adapter/unfused_typed.hpp +++ b/include/boost/fusion/functional/adapter/unfused_typed.hpp @@ -16,6 +16,9 @@ #include #include +#include +#include + #include #include @@ -29,6 +32,7 @@ #include #include + namespace boost { namespace fusion { @@ -170,12 +174,15 @@ namespace boost { namespace fusion return static_cast(this)->fnc_transformed(arg); } +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400) \ + || BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY <= 4 inline typename Function::template result::type operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) { arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); return static_cast(this)->fnc_transformed(arg); } +#endif #undef M };