diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h index 5f1500e7471..a3e541ea5e7 100644 --- a/src/corelib/tools/qset.h +++ b/src/corelib/tools/qset.h @@ -198,6 +198,9 @@ public: typedef qsizetype size_type; inline bool empty() const { return isEmpty(); } + + iterator insert(const_iterator, const T &value) { return insert(value); } + // comfort inline QSet &operator<<(const T &value) { insert(value); return *this; } inline QSet &operator|=(const QSet &other) { unite(other); return *this; } diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc index a98ce6cb060..4f26d1678c9 100644 --- a/src/corelib/tools/qset.qdoc +++ b/src/corelib/tools/qset.qdoc @@ -507,6 +507,22 @@ for STL compatibility. It is equivalent to isEmpty(). */ +/*! + \fn QSet::insert(const_iterator it, const T &value) + \overload + \since 6.1 + + Inserts item \a value into the set, if \a value isn't already + in the set, and returns an iterator pointing at the inserted + item. + + The iterator \a it is ignored. + + This function is provided for compatibility with the STL. + + \sa operator<<(), remove(), contains() +*/ + /*! \fn template bool QSet::count() const diff --git a/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp b/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp index eee55a3535e..f2e0328ddc1 100644 --- a/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp +++ b/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp @@ -143,7 +143,7 @@ static_assert(!QContainerInfo::can_set_value_at_iterator_v>); static_assert(QContainerInfo::can_set_value_at_iterator_v>); static_assert(QContainerInfo::can_insert_value_at_iterator_v>); -static_assert(!QContainerInfo::can_insert_value_at_iterator_v>); +static_assert(QContainerInfo::can_insert_value_at_iterator_v>); static_assert(!QContainerInfo::can_insert_value_at_iterator_v); static_assert(QContainerInfo::can_insert_value_at_iterator_v>); static_assert(!QContainerInfo::can_insert_value_at_iterator_v>); @@ -267,7 +267,7 @@ void tst_QMetaContainer::testSequence_data() << static_cast(&qset) << QMetaSequence::fromContainer>() << QMetaType::fromType() - << true << false << false << false << false << false << true << false; + << true << false << false << false << false << true << true << false; QTest::addRow("std::set") << static_cast(&stdset) << QMetaSequence::fromContainer>()