summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-07-08 15:32:28 +0200
committerIvan Solovev <ivan.solovev@qt.io>2021-07-21 20:12:17 +0200
commite5ec09ba868685ab2f943b39732a3cac018fedad (patch)
tree3e950bcd54593ea9af8090a6480d8ed1d82261b7 /src/corelib/tools
parent7b1b1d990b5cb5cf7a10e689803f9ab6729d1e7f (diff)
QSet::erase - extend docs
Explicitly specify that calling this method for an empty set or with an invalid iterator results in undefined behavior. On a debug build an assert is triggered in such case, but on a release build it will access the incorect index of an array. Task-number: QTBUG-91736 Pick-to: 6.2 6.1 Change-Id: Ibc3e91512a0ad9d9779a41083fedb8a91780380b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/tools')
-rw-r--r--src/corelib/tools/qset.qdoc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc
index dace0ab8ce..de3c125325 100644
--- a/src/corelib/tools/qset.qdoc
+++ b/src/corelib/tools/qset.qdoc
@@ -275,6 +275,11 @@
internal data structure. This means that it can safely be called
while iterating, and won't affect the order of items in the set.
+ \note The iterator \a pos \e must be valid and dereferenceable. Calling this
+ method on any other iterator, including its own \l end(), results in
+ undefined behavior. In particular, even the \l begin() iterator of an empty
+ set cannot be dereferenced.
+
\sa remove(), find()
*/