summaryrefslogtreecommitdiff
path: root/boost/core/addressof.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/core/addressof.hpp')
-rw-r--r--boost/core/addressof.hpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/boost/core/addressof.hpp b/boost/core/addressof.hpp
index 0a2b46be77..8ddda8be4a 100644
--- a/boost/core/addressof.hpp
+++ b/boost/core/addressof.hpp
@@ -42,7 +42,7 @@ addressof(T& o) BOOST_NOEXCEPT
} /* boost */
#else
-#include <boost/detail/workaround.hpp>
+#include <boost/config/workaround.hpp>
#include <cstddef>
namespace boost {
@@ -117,7 +117,6 @@ struct address_of<const volatile addressof_null_t> {
} /* detail */
#if defined(BOOST_NO_CXX11_SFINAE_EXPR) || \
- defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
defined(BOOST_NO_CXX11_CONSTEXPR) || \
defined(BOOST_NO_CXX11_DECLTYPE)
#define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF
@@ -171,7 +170,7 @@ const T (*addressof(const T (&o)[N]) BOOST_NOEXCEPT)[N]
namespace detail {
template<class T>
-T&& addressof_declval() BOOST_NOEXCEPT;
+T addressof_declval() BOOST_NOEXCEPT;
template<class>
struct addressof_void {
@@ -262,4 +261,14 @@ addressof(T& o) BOOST_NOEXCEPT
} /* boost */
#endif
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
+ !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
+namespace boost {
+
+template<class T>
+const T* addressof(const T&&) = delete;
+
+} /* boost */
+#endif
+
#endif