diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-07-08 15:32:28 +0200 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-07-21 20:12:17 +0200 |
commit | e5ec09ba868685ab2f943b39732a3cac018fedad (patch) | |
tree | 3e950bcd54593ea9af8090a6480d8ed1d82261b7 /src/corelib/tools | |
parent | 7b1b1d990b5cb5cf7a10e689803f9ab6729d1e7f (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.qdoc | 5 |
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() */ |