Commit 513212c5 authored by Max Kellermann's avatar Max Kellermann

input/async: use std::exchange()

parent 99a447df
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment