From 686dbcb8eb7cd5b237a073fe10b05711bbc62a14 Mon Sep 17 00:00:00 2001 From: Glen Fernandes Date: Wed, 1 Feb 2017 08:34:03 -0500 Subject: [PATCH] No BOOST_WORKAROUND for MSVC as >1900 has builtin --- include/boost/core/addressof.hpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/include/boost/core/addressof.hpp b/include/boost/core/addressof.hpp index 7dda247..6f7638d 100644 --- a/include/boost/core/addressof.hpp +++ b/include/boost/core/addressof.hpp @@ -59,8 +59,8 @@ private: template struct address_of { static BOOST_FORCEINLINE T* get(T& o, long) BOOST_NOEXCEPT { - return reinterpret_cast(&const_cast< - char&>(reinterpret_cast(o))); + return reinterpret_cast(& + const_cast(reinterpret_cast(o))); } static BOOST_FORCEINLINE T* get(T* p, int) BOOST_NOEXCEPT { return p; @@ -115,8 +115,7 @@ struct address_of { defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ defined(BOOST_NO_CXX11_CONSTEXPR) || \ defined(BOOST_NO_CXX11_DECLTYPE) || \ - (defined(BOOST_MSVC) && \ - BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))) + defined(BOOST_MSVC_FULL_VER) #define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF template @@ -181,7 +180,7 @@ typename addressof_rvalue::type addressof_declval() BOOST_NOEXCEPT; template -struct addressof_make_void { +struct addressof_void { typedef void type; }; @@ -191,9 +190,8 @@ struct addressof_member_operator { }; template -struct addressof_member_operator().operator&())>::type> { +struct addressof_member_operator().operator&())>::type> { static constexpr bool value = true; }; @@ -210,9 +208,8 @@ struct addressof_non_member_operator { }; template -struct addressof_non_member_operator()))>::type> { +struct addressof_non_member_operator()))>::type> { static constexpr bool value = true; }; @@ -223,8 +220,7 @@ struct addressof_expression { template struct addressof_expression())>::type> { + typename addressof_void())>::type> { static constexpr bool value = true; };