input/async: use std::exchange()
This commit is contained in:
parent
99a447dff5
commit
513212c5e8
@ -50,8 +50,7 @@ AsyncInputStream::~AsyncInputStream()
|
||||
void
|
||||
AsyncInputStream::SetTag(Tag *_tag) noexcept
|
||||
{
|
||||
delete tag;
|
||||
tag = _tag;
|
||||
delete std::exchange(tag, _tag);
|
||||
}
|
||||
|
||||
void
|
||||
@ -77,11 +76,9 @@ AsyncInputStream::Resume()
|
||||
void
|
||||
AsyncInputStream::Check()
|
||||
{
|
||||
if (postponed_exception) {
|
||||
auto e = std::move(postponed_exception);
|
||||
postponed_exception = std::exception_ptr();
|
||||
std::rethrow_exception(e);
|
||||
}
|
||||
if (postponed_exception)
|
||||
std::rethrow_exception(std::exchange(postponed_exception,
|
||||
std::exception_ptr()));
|
||||
}
|
||||
|
||||
bool
|
||||
@ -154,9 +151,7 @@ AsyncInputStream::SeekDone() noexcept
|
||||
Tag *
|
||||
AsyncInputStream::ReadTag()
|
||||
{
|
||||
Tag *result = tag;
|
||||
tag = nullptr;
|
||||
return result;
|
||||
return std::exchange(tag, nullptr);
|
||||
}
|
||||
|
||||
bool
|
||||
|
Loading…
Reference in New Issue
Block a user