refactor: prefer std::queue over QQueue (#5704)

* refactor: prefer std::queue over QQueue

* refactor: prefer std::pair over QPair
This commit is contained in:
Charles Kerr 2023-06-30 18:04:16 -05:00 committed by GitHub
parent 2fa693170a
commit 0fbafc9e18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 19 deletions

View File

@ -5,10 +5,10 @@
#include <algorithm> #include <algorithm>
#include <cassert> #include <cassert>
#include <queue>
#include <QHeaderView> #include <QHeaderView>
#include <QMenu> #include <QMenu>
#include <QQueue>
#include <QResizeEvent> #include <QResizeEvent>
#include <QSortFilterProxyModel> #include <QSortFilterProxyModel>
@ -263,13 +263,14 @@ void FileTreeView::onlyCheckSelectedItems()
} }
} }
QQueue<QModelIndex> parents_queue; auto parents_queue = std::queue<QModelIndex>{};
parents_queue.enqueue(root_index); parents_queue.emplace(root_index);
QModelIndexList unwanted_indices; QModelIndexList unwanted_indices;
while (!parents_queue.isEmpty()) while (!std::empty(parents_queue))
{ {
QModelIndex const parent_index = parents_queue.dequeue(); auto const parent_index = std::move(parents_queue.front());
parents_queue.pop();
if (std::binary_search(wanted_indices.begin(), wanted_indices.end(), parent_index)) if (std::binary_search(wanted_indices.begin(), wanted_indices.end(), parent_index))
{ {
@ -299,7 +300,7 @@ void FileTreeView::onlyCheckSelectedItems()
} }
else else
{ {
parents_queue.enqueue(child_index); parents_queue.emplace(child_index);
} }
} }
} }

View File

@ -491,12 +491,12 @@ QMenu* MainWindow::createOptionsMenu()
QMenu* MainWindow::createStatsModeMenu() QMenu* MainWindow::createStatsModeMenu()
{ {
std::array<QPair<QAction*, QString>, 4> const stats_modes = { auto const stats_modes = std::array<std::pair<QAction*, QString>, 4>{ {
qMakePair(ui_.action_TotalRatio, total_ratio_stats_mode_name_), { ui_.action_TotalRatio, total_ratio_stats_mode_name_ },
qMakePair(ui_.action_TotalTransfer, total_transfer_stats_mode_name_), { ui_.action_TotalTransfer, total_transfer_stats_mode_name_ },
qMakePair(ui_.action_SessionRatio, session_ratio_stats_mode_name_), { ui_.action_SessionRatio, session_ratio_stats_mode_name_ },
qMakePair(ui_.action_SessionTransfer, session_transfer_stats_mode_name_) { ui_.action_SessionTransfer, session_transfer_stats_mode_name_ },
}; } };
auto* action_group = new QActionGroup(this); auto* action_group = new QActionGroup(this);
auto* menu = new QMenu(this); auto* menu = new QMenu(this);

View File

@ -39,7 +39,7 @@ void RpcQueue::stepFinished()
} }
// run next request, if we have one to run and there was no error (or if we tolerate errors) // run next request, if we have one to run and there was no error (or if we tolerate errors)
if ((result.success || tolerate_errors_) && !queue_.isEmpty()) if ((result.success || tolerate_errors_) && !std::empty(queue_))
{ {
runNext(future); runNext(future);
return; return;
@ -63,7 +63,9 @@ void RpcQueue::runNext(RpcResponseFuture const& response)
{ {
assert(!queue_.isEmpty()); assert(!queue_.isEmpty());
auto next = queue_.dequeue(); auto next = std::move(queue_.front());
queue_.pop();
next_error_handler_ = next.second; next_error_handler_ = next.second;
future_watcher_.setFuture((next.first)(response)); future_watcher_.setFuture((next.first)(response));
} }

View File

@ -7,13 +7,13 @@
#include <cstdint> #include <cstdint>
#include <functional> #include <functional>
#include <queue>
#include <type_traits> #include <type_traits>
#include <utility>
#include <QFutureInterface> #include <QFutureInterface>
#include <QFutureWatcher> #include <QFutureWatcher>
#include <QObject> #include <QObject>
#include <QPair>
#include <QQueue>
#include <libtransmission/tr-macros.h> #include <libtransmission/tr-macros.h>
@ -35,13 +35,13 @@ public:
template<typename Func> template<typename Func>
void add(Func func) void add(Func func)
{ {
queue_.enqueue(qMakePair(normalizeFunc(func), ErrorHandlerFunction())); queue_.emplace(normalizeFunc(func), ErrorHandlerFunction());
} }
template<typename Func, typename ErrorHandler> template<typename Func, typename ErrorHandler>
void add(Func func, ErrorHandler error_handler) void add(Func func, ErrorHandler error_handler)
{ {
queue_.enqueue(qMakePair(normalizeFunc(func), normalizeErrorHandler(error_handler))); queue_.emplace(normalizeFunc(func), normalizeErrorHandler(error_handler));
} }
// The first function in queue is ran synchronously // The first function in queue is ran synchronously
@ -151,7 +151,7 @@ private:
Tag const tag_ = next_tag++; Tag const tag_ = next_tag++;
bool tolerate_errors_ = {}; bool tolerate_errors_ = {};
QFutureInterface<RpcResponse> promise_; QFutureInterface<RpcResponse> promise_;
QQueue<QPair<QueuedFunction, ErrorHandlerFunction>> queue_; std::queue<std::pair<QueuedFunction, ErrorHandlerFunction>> queue_;
ErrorHandlerFunction next_error_handler_; ErrorHandlerFunction next_error_handler_;
QFutureWatcher<RpcResponse> future_watcher_; QFutureWatcher<RpcResponse> future_watcher_;