From bd4c04aec1326689b6b1145ac4addf28e2d267e1 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 db7a34652..ba9706737 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -107,7 +107,7 @@ endif() create_target_directory_groups(common) -target_link_libraries(common PUBLIC Boost::boost fmt microprofile) +target_link_libraries(common PUBLIC fmt microprofile) if (ARCHITECTURE_x86_64) target_link_libraries(common PRIVATE xbyak) endif() diff --git a/src/common/thread_queue_list.h b/src/common/thread_queue_list.h index 38a450d69..3e3d04b4d 100644 --- a/src/common/thread_queue_list.h +++ b/src/common/thread_queue_list.h @@ -6,7 +6,6 @@ #include #include -#include namespace Common { @@ -95,8 +94,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) {