diff --git a/include/boost/typeof/msvc/typeof_impl.hpp b/include/boost/typeof/msvc/typeof_impl.hpp index 3071efb..22b671d 100644 --- a/include/boost/typeof/msvc/typeof_impl.hpp +++ b/include/boost/typeof/msvc/typeof_impl.hpp @@ -12,8 +12,8 @@ # include # include # include +# include # include -# include # include @@ -168,12 +168,12 @@ namespace boost { typedef char(*type)[encode_type::value]; }; - template typename disable_if< - typename is_function::type, + template typename enable_if_< + !is_function::value, typename sizer::type>::type encode_start(T const&); - template typename enable_if< - typename is_function::type, + template typename enable_if_< + is_function::value, typename sizer::type>::type encode_start(T&); template msvc_register_type typeof_register_type(const T&,Organizer* =0); diff --git a/include/boost/typeof/native.hpp b/include/boost/typeof/native.hpp index 8197e28..f051235 100644 --- a/include/boost/typeof/native.hpp +++ b/include/boost/typeof/native.hpp @@ -18,8 +18,8 @@ namespace boost { namespace type_of { #else +#include #include -#include namespace boost { namespace type_of { # ifdef BOOST_NO_SFINAE @@ -27,11 +27,11 @@ namespace boost { namespace type_of { T& ensure_obj(const T&); # else template - typename enable_if, T&>::type + typename enable_if_::value, T&>::type ensure_obj(T&); template - typename disable_if, T&>::type + typename enable_if_::value, T&>::type ensure_obj(const T&); # endif }} diff --git a/include/boost/typeof/typeof_impl.hpp b/include/boost/typeof/typeof_impl.hpp index d627b85..90c3b33 100644 --- a/include/boost/typeof/typeof_impl.hpp +++ b/include/boost/typeof/typeof_impl.hpp @@ -10,8 +10,8 @@ #include #include #include +#include #include -#include #define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n) @@ -39,13 +39,13 @@ namespace boost { namespace type_of { sizer::type> encode(const T&); # else template - typename enable_if< - typename is_function::type, + typename enable_if_< + is_function::value, sizer::type> >::type encode(T&); template - typename disable_if< - typename is_function::type, + typename enable_if_< + !is_function::value, sizer::type> >::type encode(const T&); # endif }}