async_shaders: Simplify implementation of GetCompletedWork()

This is equivalent to moving all the contents and then clearing the
vector. This avoids a redundant allocation.
This commit is contained in:
Lioncash 2020-11-20 04:44:42 -05:00
parent 3fcc98e11a
commit ba3916fc67

View File

@ -106,8 +106,7 @@ std::vector<AsyncShaders::Result> AsyncShaders::GetCompletedWork() {
std::vector<Result> results; std::vector<Result> results;
{ {
std::unique_lock lock{completed_mutex}; std::unique_lock lock{completed_mutex};
results.assign(std::make_move_iterator(finished_work.begin()), results = std::move(finished_work);
std::make_move_iterator(finished_work.end()));
finished_work.clear(); finished_work.clear();
} }
return results; return results;