From 5ed58ee20fd7f362839086ea409a24b77f874206 Mon Sep 17 00:00:00 2001 From: Glen Fernandes Date: Mon, 1 Oct 2018 00:26:08 -0400 Subject: [PATCH] Add ADL guard for empty_value and new member typedef --- doc/empty_value.qbk | 8 ++++++++ include/boost/core/empty_value.hpp | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/doc/empty_value.qbk b/doc/empty_value.qbk index 60149e9..ce0d906 100644 --- a/doc/empty_value.qbk +++ b/doc/empty_value.qbk @@ -85,6 +85,8 @@ struct empty_init_t { }; template class empty_value { public: + typedef T type; + empty_value() = default; template @@ -107,6 +109,12 @@ public: [endsect] +[section Member types] + +[variablelist [[`type`][The template parameter `T`]]] + +[endsect] + [section Constructors] [variablelist diff --git a/include/boost/core/empty_value.hpp b/include/boost/core/empty_value.hpp index 0902e00..60ca36f 100644 --- a/include/boost/core/empty_value.hpp +++ b/include/boost/core/empty_value.hpp @@ -40,9 +40,13 @@ struct use_empty_value_base { struct empty_init_t { }; +namespace empty_ { + template::value> class empty_value { public: + typedef T type; + #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) empty_value() = default; #else @@ -85,6 +89,8 @@ template class empty_value : T { public: + typedef T type; + #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) empty_value() = default; #else @@ -120,6 +126,10 @@ public: }; #endif +} /* empty_ */ + +using empty_::empty_value; + } /* boost */ #endif