Skip to content

Commit 0244e79

Browse files
committed
fix std::remove_if
1 parent b9e5171 commit 0244e79

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

examples/server/server.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1554,8 +1554,12 @@ struct server_queue {
15541554
auto rm_func = [id_task](const server_task & task) {
15551555
return task.id_target == id_task;
15561556
};
1557-
std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func);
1558-
std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func);
1557+
queue_tasks.erase(
1558+
std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func),
1559+
queue_tasks.end());
1560+
queue_tasks_deferred.erase(
1561+
std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func),
1562+
queue_tasks_deferred.end());
15591563
}
15601564
};
15611565

@@ -1593,13 +1597,11 @@ struct server_response {
15931597
std::unique_lock<std::mutex> lock(mutex_results);
15941598
waiting_task_ids.erase(id_task);
15951599
// make sure to clean up all pending results
1596-
std::remove_if(
1597-
queue_results.begin(),
1598-
queue_results.end(),
1599-
[id_task](const server_task_result_ptr & res) {
1600+
queue_results.erase(
1601+
std::remove_if(queue_results.begin(), queue_results.end(), [id_task](const server_task_result_ptr & res) {
16001602
return res->id == id_task;
1601-
}
1602-
);
1603+
}),
1604+
queue_results.end());
16031605
}
16041606

16051607
void remove_waiting_task_ids(const std::unordered_set<int> & id_tasks) {

0 commit comments

Comments
 (0)