From 34512cefbeec3f8bf0d32e4951fce22edb596c71 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Sun, 20 Mar 2016 00:33:44 +0000 Subject: [PATCH] refs #624 Implementation of Optional can always use unrestricted unions. --- src/blackmisc/optional.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/blackmisc/optional.h b/src/blackmisc/optional.h index dda5f641b..ba5e3e8bc 100644 --- a/src/blackmisc/optional.h +++ b/src/blackmisc/optional.h @@ -93,7 +93,6 @@ namespace BlackMisc private: bool m_isValid; -#if defined(Q_COMPILER_UNRESTRICTED_UNIONS) T &dereference() { Q_ASSERT(m_isValid); return m_data.object; } const T &dereference() const { Q_ASSERT(m_isValid); return m_data.object; } union Data @@ -104,11 +103,6 @@ namespace BlackMisc T object; }; Data m_data; -#else - T &dereference() { Q_ASSERT(m_isValid); return *reinterpret_cast(m_data.bytes); } - const T &dereference() const { Q_ASSERT(m_isValid); return *reinterpret_cast(m_data.bytes); } - struct { typename std::aligned_storage::type bytes[1]; } m_data; -#endif }; /*!