From 5898d8da9aa72385c0e4ce367fde1b5bc51979e3 Mon Sep 17 00:00:00 2001 From: Artem Dyomin Date: Wed, 2 Apr 2025 16:53:21 +0200 Subject: [PATCH] QGIM: simplify call-helper Use the helpers we have to unify calling with either pointer or reference. Change-Id: I1f1dec6095d913d9af4d8f427f05d8893a06ef76 Reviewed-by: Volker Hilsheimer --- src/corelib/itemmodels/qgenericitemmodel_impl.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/corelib/itemmodels/qgenericitemmodel_impl.h b/src/corelib/itemmodels/qgenericitemmodel_impl.h index 2e42dac5c6f..9f14a7e13fe 100644 --- a/src/corelib/itemmodels/qgenericitemmodel_impl.h +++ b/src/corelib/itemmodels/qgenericitemmodel_impl.h @@ -500,15 +500,10 @@ protected: template static void call_at(Tuple &&tuple, size_t idx, std::index_sequence, F &&function) { - ((Is == idx ? static_cast(function(get(std::forward(tuple)))) - : static_cast(0)), ...); - } - - template - static void call_at(Tuple *tuple, size_t idx, std::index_sequence seq, F &&function) - { - if (tuple) - call_at(*tuple, idx, seq, std::forward(function)); + if (QGenericItemModelDetails::isValid(tuple)) + ((Is == idx ? static_cast(function(get( + QGenericItemModelDetails::refTo(std::forward(tuple))))) + : static_cast(0)), ...); } template