From 6e1918b27c0cb22b1b7b83cf2ff775748f41c61b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 19 Mar 2024 00:41:43 +0000 Subject: [PATCH] Codechange: Simplify GetScrolledItemFromWidget() Return `auto`, which allows working with const containers, and use std::next instead of std::advance. --- src/widget_type.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/widget_type.h b/src/widget_type.h index 9a27132873..8655dd2d1d 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -875,15 +875,13 @@ public: * @return Iterator to the element clicked at. If clicked at a wrong position, returns as interator to the end of the container. */ template - typename Tcontainer::iterator GetScrolledItemFromWidget(Tcontainer &container, int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const + auto GetScrolledItemFromWidget(Tcontainer &container, int clickpos, const Window * const w, WidgetID widget, int padding = 0, int line_height = -1) const { assert(static_cast(this->GetCount()) == container.size()); // Scrollbar and container size must match. size_type row = this->GetScrolledRowFromWidget(clickpos, w, widget, padding, line_height); if (row == Scrollbar::npos) return std::end(container); - typename Tcontainer::iterator it = std::begin(container); - std::advance(it, row); - return it; + return std::next(std::begin(container), row); } EventState UpdateListPositionOnKeyPress(int &list_position, uint16_t keycode) const;