From f71c598907ea76095dd3e2a71d160ddbe5c6635c Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 16 Mar 2019 04:41:34 -0400 Subject: [PATCH] common/thread_queue_list: Remove unnecessary dependency on boost We really don't need to pull in several headers of boost related machinery just to perform the erase-remove idiom (particularly with C++20 around the corner, which adds universal container std::erase and std::erase_if, which we can just use instead). With this, we don't need to link in anything boost-related into common. --- src/common/CMakeLists.txt | 2 +- src/common/thread_queue_list.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 3d30f0e3eb..fecef967b0 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -128,4 +128,4 @@ endif() create_target_directory_groups(common) -target_link_libraries(common PUBLIC Boost::boost fmt microprofile) +target_link_libraries(common PUBLIC fmt microprofile) diff --git a/src/common/thread_queue_list.h b/src/common/thread_queue_list.h index e7594db689..791f99a8c5 100644 --- a/src/common/thread_queue_list.h +++ b/src/common/thread_queue_list.h @@ -6,7 +6,6 @@ #include #include -#include namespace Common { @@ -111,8 +110,9 @@ struct ThreadQueueList { } void remove(Priority priority, const T& thread_id) { - Queue* cur = &queues[priority]; - boost::remove_erase(cur->data, thread_id); + Queue* const cur = &queues[priority]; + const auto iter = std::remove(cur->data.begin(), cur->data.end(), thread_id); + cur->data.erase(iter, cur->data.end()); } void rotate(Priority priority) {