More constexpr fixes
This commit is contained in:
commit
01dcb2f7bc
3 files changed
+30
-3
No files matched your search
+3
-3
@@ -375,7 +375,7 @@ template <class T, class E> struct expected_storage_base<T, E, true, true> {
|
||||
// T is trivial, E is not.
|
||||
template <class T, class E> struct expected_storage_base<T, E, true, false> {
|
||||
constexpr expected_storage_base() : m_val(T{}), m_has_val(true) {}
|
||||
constexpr expected_storage_base(no_init_t) : m_has_val(false) {}
|
||||
TL_EXPECTED_MSVC2015_CONSTEXPR expected_storage_base(no_init_t) : m_has_val(false) {}
|
||||
|
||||
template <class... Args,
|
||||
detail::enable_if_t<std::is_constructible<T, Args &&...>::value> * =
|
||||
@@ -1477,14 +1477,14 @@ public:
|
||||
class U = T,
|
||||
detail::enable_if_t<!std::is_convertible<U &&, T>::value> * = nullptr,
|
||||
detail::expected_enable_forward_value<T, E, U> * = nullptr>
|
||||
explicit constexpr expected(U &&v) : expected(in_place, std::forward<U>(v)) {}
|
||||
explicit TL_EXPECTED_MSVC2015_CONSTEXPR expected(U &&v) : expected(in_place, std::forward<U>(v)) {}
|
||||
|
||||
/// \exclude
|
||||
template <
|
||||
class U = T,
|
||||
detail::enable_if_t<std::is_convertible<U &&, T>::value> * = nullptr,
|
||||
detail::expected_enable_forward_value<T, E, U> * = nullptr>
|
||||
constexpr expected(U &&v) : expected(in_place, std::forward<U>(v)) {}
|
||||
TL_EXPECTED_MSVC2015_CONSTEXPR expected(U &&v) : expected(in_place, std::forward<U>(v)) {}
|
||||
|
||||
template <
|
||||
class U = T,
|
||||
|
||||
Reference in new issue
Block a user