From e3394ec3f523a31b0904bf6db794b12af6c24f0e Mon Sep 17 00:00:00 2001 From: Rick Winter Date: Thu, 13 Aug 2020 13:11:17 -0700 Subject: [PATCH] Null out the union for the Undefined type (#444) --- sdk/core/azure-core/inc/context.hpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sdk/core/azure-core/inc/context.hpp b/sdk/core/azure-core/inc/context.hpp index 48d7c55e3..5e9b95c5e 100644 --- a/sdk/core/azure-core/inc/context.hpp +++ b/sdk/core/azure-core/inc/context.hpp @@ -6,6 +6,7 @@ #include #include #include +#include //For the non-allocating placement new #include #include @@ -39,7 +40,7 @@ namespace Azure { namespace Core { }; public: - ContextValue() noexcept : m_contextValueType(ContextValueType::Undefined) {} + ContextValue() noexcept : m_contextValueType(ContextValueType::Undefined), m_b(false) {} ContextValue(bool b) noexcept : m_contextValueType(ContextValueType::Bool), m_b(b) {} ContextValue(int i) noexcept : m_contextValueType(ContextValueType::Int), m_i(i) {} ContextValue(const std::string& s) : m_contextValueType(ContextValueType::StdString), m_s(s) {} @@ -47,12 +48,8 @@ namespace Azure { namespace Core { : m_contextValueType(ContextValueType::UniquePtr), m_s(std::move(s)) { } - template < - class DerivedFromValueBase, - typename std:: - enable_if::value, int>::type - = 0> - ContextValue(std::unique_ptr&& p) noexcept + + ContextValue(std::unique_ptr&& p) noexcept : m_contextValueType(ContextValueType::UniquePtr), m_p(std::move(p)) { }