diff --git a/optional.hpp b/optional.hpp index 9be3f72..abafbed 100644 --- a/optional.hpp +++ b/optional.hpp @@ -468,10 +468,10 @@ namespace tl { namespace detail { template ::value> struct optional_storage_base { - constexpr optional_storage_base() noexcept : m_dummy(), m_has_value(false) {} + TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base() noexcept : m_dummy(), m_has_value(false) {} template - constexpr optional_storage_base(in_place_t, U &&... u) noexcept + TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base(in_place_t, U &&... u) noexcept : m_value(std::forward(u)...), m_has_value(true) {} ~optional_storage_base() { @@ -491,10 +491,12 @@ struct optional_storage_base { }; template struct optional_storage_base { - TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base() noexcept : m_dummy(), m_has_value(false) {} + TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base() noexcept + : m_dummy(), m_has_value(false) {} template - TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base(in_place_t, U &&... u) noexcept + TL_OPTIONAL_MSVC_2015_CONSTEXPR optional_storage_base(in_place_t, + U &&... u) noexcept : m_value(std::forward(u)...), m_has_value(true) {} ~optional_storage_base() = default;