- for(current=next; current!=parts.end(); ++current)
- if(current->part==&part)
- {
- parts.erase(next, current);
- break;
- }
+ current = find_if(next, parts.end(), [&part](const CachedPart &p){ return p.part==∂ });
+ if(current!=parts.end())
+ parts.erase(next, current);