@@ -659,12 +659,11 @@ std::vector<CheckClass::Usage> CheckClass::createUsageList(const Scope *scope)
659659
660660void CheckClass::assignVar (std::vector<Usage> &usageList, nonneg int varid)
661661{
662- for (Usage& usage: usageList) {
663- if (usage.var ->declarationId () == varid) {
664- usage.assign = true ;
665- return ;
666- }
667- }
662+ auto it = std::find_if (usageList.begin (), usageList.end (), [varid](const Usage& usage) {
663+ return usage.var ->declarationId () == varid;
664+ });
665+ if (it != usageList.end ())
666+ it->assign = true ;
668667}
669668
670669void CheckClass::assignVar (std::vector<Usage> &usageList, const Token* vartok)
@@ -673,23 +672,21 @@ void CheckClass::assignVar(std::vector<Usage> &usageList, const Token* vartok)
673672 assignVar (usageList, vartok->varId ());
674673 return ;
675674 }
676- for ( Usage& usage: usageList ) {
675+ auto it = std::find_if (usageList. begin (), usageList. end (), [vartok]( const Usage& usage) {
677676 // FIXME: This is a workaround when varid is not set for a derived member
678- if (usage.var ->name () == vartok->str ()) {
679- usage.assign = true ;
680- return ;
681- }
682- }
677+ return usage.var ->name () == vartok->str ();
678+ });
679+ if (it != usageList.end ())
680+ it->assign = true ;
683681}
684682
685683void CheckClass::initVar (std::vector<Usage> &usageList, nonneg int varid)
686684{
687- for (Usage& usage: usageList) {
688- if (usage.var ->declarationId () == varid) {
689- usage.init = true ;
690- return ;
691- }
692- }
685+ auto it = std::find_if (usageList.begin (), usageList.end (), [varid](const Usage& usage) {
686+ return usage.var ->declarationId () == varid;
687+ });
688+ if (it != usageList.end ())
689+ it->init = true ;
693690}
694691
695692void CheckClass::assignAllVar (std::vector<Usage> &usageList)
0 commit comments