Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
Description
After we've detected that we need to change the container in remove()/erase(), don't detach(). Instead, check if we're shared. If we're not shared, do the change in-place. If we are shared, make a new container, copy only the subset that forms the final result over, then assign the new container to *this.
See epic for more details.
Acceptance criteria: The following member functions no longer detach:
- clear()
- erase() (all overloads, cf. QTBUG-106175)
- remove()/removeIf()
- take()
Attachments
Issue Links
- is required for
-
QTBUG-106179 QSet: don't detach in remove()/erase()
-
- Open
-