MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / stlBoundaries

Method stlBoundaries

lib/checkstl.cpp:1464–1486  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1462}
1463
1464void CheckStlImpl::stlBoundaries()
1465{
1466 logChecker("CheckStl::stlBoundaries");
1467
1468 const SymbolDatabase* const symbolDatabase = mTokenizer->getSymbolDatabase();
1469 for (const Variable* var : symbolDatabase->variableList()) {
1470 if (!var || !var->scope() || !var->scope()->isExecutable())
1471 continue;
1472
1473 const Library::Container* container = mSettings.library.detectIterator(var->typeStartToken());
1474 if (!container || container->opLessAllowed)
1475 continue;
1476
1477 const Token* const end = var->scope()->bodyEnd;
1478 for (const Token *tok = var->nameToken(); tok != end; tok = tok->next()) {
1479 if (Token::Match(tok, "!!* %varid% <", var->declarationId())) {
1480 stlBoundariesError(tok);
1481 } else if (Token::Match(tok, "> %varid% !!.", var->declarationId())) {
1482 stlBoundariesError(tok);
1483 }
1484 }
1485 }
1486}
1487
1488// Error message for bad boundary usage..
1489void CheckStlImpl::stlBoundariesError(const Token *tok)

Callers 1

runChecksMethod · 0.80

Calls 4

scopeMethod · 0.80
detectIteratorMethod · 0.80
nextMethod · 0.80
nameTokenMethod · 0.45

Tested by

no test coverage detected