From ba44a714067468684ffabe0c9f37bf1cb0785c3c Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 29 Nov 2023 08:09:57 +0100 Subject: QTest: simplify toString(tuple) Use C++14's std::index_sequence instead of our home-brewed QtPrivate::IndexList. I used make_index_sequence instead of index_sequence_for to avoid having to resolve another type-dependent template alias. Remove the helper's vacuous \internal qdoc block. As a drive-by, rename the helper function to prevent it from participating in QTest::toString() overload resolution, and fix spaces around &. Pick-to: 6.6 6.5 Change-Id: I5981a9b1a99fbe741e75820a6954d066ced9573d Reviewed-by: Jason McDonald --- src/testlib/qtest.h | 7 +++---- src/testlib/qtestcase.qdoc | 6 ------ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index b3f68a5c8bb..99eae8553f5 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -377,8 +377,8 @@ inline char *toString(const std::pair &pair) return formatString("std::pair(", ")", 2, first.data(), second.data()); } -template -inline char *toString(const Tuple & tuple, QtPrivate::IndexesList) { +template +inline char *tupleToString(const Tuple &tuple, std::index_sequence) { using UP = std::unique_ptr; // Generate a table of N + 1 elements where N is the number of // elements in the tuple. @@ -392,8 +392,7 @@ inline char *toString(const Tuple & tuple, QtPrivate::IndexesList) { template inline char *toString(const std::tuple &tuple) { - static const std::size_t params_count = sizeof...(Types); - return toString(tuple, typename QtPrivate::Indexes::Value()); + return tupleToString(tuple, std::make_index_sequence{}); } inline char *toString(std::nullptr_t) diff --git a/src/testlib/qtestcase.qdoc b/src/testlib/qtestcase.qdoc index f692b984912..5776177cf6b 100644 --- a/src/testlib/qtestcase.qdoc +++ b/src/testlib/qtestcase.qdoc @@ -1622,12 +1622,6 @@ Returns a textual representation of the key sequence \a ks. */ -/*! - \fn template char *QTest::toString(const Tuple &tuple, QtPrivate::IndexesList ) - \internal - \since 5.12 -*/ - /*! \fn QPointingDevice * QTest::createTouchDevice(QInputDevice::DeviceType devType = QInputDevice::DeviceType::TouchScreen, QInputDevice::Capabilities caps = QInputDevice::Capability::Position) \since 5.8 -- cgit v1.2.3