{
if(is_full)
full_value.~T();
+ is_full = false;
}
template <typename... Types>
T &emplace(Types &&... args) noexcept(std::is_nothrow_constructible<T, Types...>::value)
void reset() noexcept
{
// full_value.~T() not needed
+ is_full = false;
}
template <typename... Types>
T &emplace(Types &&... args) noexcept(std::is_nothrow_constructible<T, Types...>::value)
void reset() noexcept
{
// full_value.~T() not needed
+ is_full = false;
}
template <typename... Types>
T &emplace(Types &&... args) noexcept(std::is_nothrow_constructible<T, Types...>::value)