diff --git a/doc/pointer_traits.qbk b/doc/pointer_traits.qbk index bd8b3af..7b57e0d 100644 --- a/doc/pointer_traits.qbk +++ b/doc/pointer_traits.qbk @@ -121,7 +121,8 @@ namespace boost { [[Returns] [A pointer of type `element_type*` that references the same location as the argument `p`.]] -[[Note] [This function should be the inverse of `pointer_to`. If defined, it +[[Note] +[This function should be the inverse of `pointer_to`. If defined, it customizes the behavior of the non-member function `to_address`.]]]]]] [endsect] diff --git a/include/boost/core/pointer_traits.hpp b/include/boost/core/pointer_traits.hpp index 754728f..e0ebfb0 100644 --- a/include/boost/core/pointer_traits.hpp +++ b/include/boost/core/pointer_traits.hpp @@ -186,8 +186,7 @@ to_address(T* v) BOOST_NOEXCEPT return v; } -#if !defined(BOOST_NO_CXX11_SFINAE_EXPR) && \ - !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) +#if !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) namespace detail { template diff --git a/test/to_address_test.cpp b/test/to_address_test.cpp index a5e280b..e1b55c4 100644 --- a/test/to_address_test.cpp +++ b/test/to_address_test.cpp @@ -32,8 +32,7 @@ private: P1 p_; }; -#if !defined(BOOST_NO_CXX11_SFINAE_EXPR) && \ - !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) +#if !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) template class P3 { public: @@ -47,14 +46,12 @@ private: }; namespace boost { - template struct pointer_traits > { static T* to_address(const P3& p) BOOST_NOEXCEPT { return p.get(); } }; - } /* boost */ template @@ -73,14 +70,12 @@ private: }; namespace boost { - template struct pointer_traits > { static T* to_address(const P4& p) BOOST_NOEXCEPT { return p.get(); } }; - } /* boost */ #if !defined(BOOST_NO_CXX11_POINTER_TRAITS) @@ -97,14 +92,12 @@ private: }; namespace std { - template struct pointer_traits > { static T* to_address(const P5& p) BOOST_NOEXCEPT { return p.get(); } }; - } /* std */ template @@ -120,27 +113,22 @@ private: }; namespace boost { - template struct pointer_traits > { static T* to_address(const P6& p) BOOST_NOEXCEPT { return p.get(); } }; - } /* boost */ namespace std { - template struct pointer_traits > { static T* to_address(const P6& p) BOOST_NOEXCEPT { return 0; } }; - } /* std */ - #endif #endif @@ -154,8 +142,7 @@ int main() BOOST_TEST(boost::to_address(p1) == &i); P2 p2(&i); BOOST_TEST(boost::to_address(p2) == &i); -#if !defined(BOOST_NO_CXX11_SFINAE_EXPR) && \ - !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) +#if !defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) P3 p3(&i); BOOST_TEST(boost::to_address(p3) == &i); P4 p4(&i);