|
|
|
|
|
|
|
|
return m_value; |
|
|
return m_value; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void reset(T&& newValue) noexcept(noexcept(m_value = move_assign_if_noexcept(newValue))) |
|
|
|
|
|
|
|
|
void reset(T&& newValue) noexcept(std::is_nothrow_assignable<T, decltype(move_assign_if_noexcept(newValue))>::value) |
|
|
{ |
|
|
{ |
|
|
m_value = move_assign_if_noexcept(newValue); |
|
|
m_value = move_assign_if_noexcept(newValue); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void reset(const T& newValue) noexcept(noexcept(m_value = newValue)) |
|
|
|
|
|
|
|
|
void reset(const T& newValue) noexcept(std::is_nothrow_assignable<T, const T&>::value) |
|
|
{ |
|
|
{ |
|
|
m_value = newValue; |
|
|
m_value = newValue; |
|
|
} |
|
|
} |