Details
-
Task
-
Resolution: Done
-
P3: Somewhat important
-
None
-
3
-
6f5c78fe3d (qt/qtbase/dev) 6f5c78fe3d (qt/tqtc-qtbase/dev)
-
Team Two Foundation Sprint 52
Description
Over the past two days, this has come up twice: Unlike with node-based containers, this loop is quadratic with QFlatMap:
for (auto it = m.begin(), end = m.end(); it != end; /* erasing */) if (cond(*m)) it = m.erase(it); else ++it;
A linear, remove_if-like loop is not possible to implement with existing QFlatMap API, so we'd need a remove_if member.