Skip to content

Commit 01f9aa3

Browse files
authored
more const_iterator usage (danmar#6761)
if you are only modifying the container itself and not the actual contents you can still use `const_iterator`.
1 parent 5e1db12 commit 01f9aa3

File tree

8 files changed

+37
-37
lines changed

8 files changed

+37
-37
lines changed

cli/cmdlineparser.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ bool CmdLineParser::fillSettingsFromArgs(int argc, const char* const argv[])
164164

165165
// Check that all include paths exist
166166
{
167-
for (std::list<std::string>::iterator iter = mSettings.includePaths.begin();
168-
iter != mSettings.includePaths.end();
167+
for (std::list<std::string>::const_iterator iter = mSettings.includePaths.cbegin();
168+
iter != mSettings.includePaths.cend();
169169
) {
170170
const std::string path(Path::toNativeSeparators(*iter));
171171
if (Path::isDirectory(path))

cli/processexecutor.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -318,18 +318,18 @@ unsigned int ProcessExecutor::check()
318318
const int r = select(*std::max_element(rpipes.cbegin(), rpipes.cend()) + 1, &rfds, nullptr, nullptr, &tv);
319319

320320
if (r > 0) {
321-
std::list<int>::iterator rp = rpipes.begin();
322-
while (rp != rpipes.end()) {
321+
std::list<int>::const_iterator rp = rpipes.cbegin();
322+
while (rp != rpipes.cend()) {
323323
if (FD_ISSET(*rp, &rfds)) {
324324
std::string name;
325-
const std::map<int, std::string>::iterator p = pipeFile.find(*rp);
326-
if (p != pipeFile.end()) {
325+
const std::map<int, std::string>::const_iterator p = pipeFile.find(*rp);
326+
if (p != pipeFile.cend()) {
327327
name = p->second;
328328
}
329329
const bool readRes = handleRead(*rp, result, name);
330330
if (!readRes) {
331331
std::size_t size = 0;
332-
if (p != pipeFile.end()) {
332+
if (p != pipeFile.cend()) {
333333
pipeFile.erase(p);
334334
const auto fs = std::find_if(mFiles.cbegin(), mFiles.cend(), [&name](const FileWithDetails& entry) {
335335
return entry.path() == name;
@@ -358,8 +358,8 @@ unsigned int ProcessExecutor::check()
358358
const pid_t child = waitpid(0, &stat, WNOHANG);
359359
if (child > 0) {
360360
std::string childname;
361-
const std::map<pid_t, std::string>::iterator c = childFile.find(child);
362-
if (c != childFile.end()) {
361+
const std::map<pid_t, std::string>::const_iterator c = childFile.find(child);
362+
if (c != childFile.cend()) {
363363
childname = c->second;
364364
childFile.erase(c);
365365
}

lib/checkclass.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,7 +1298,7 @@ void CheckClass::privateFunctions()
12981298
// Bailout for overridden virtual functions of base classes
12991299
if (!scope->definedType->derivedFrom.empty()) {
13001300
// Check virtual functions
1301-
for (std::list<const Function*>::iterator it = privateFuncs.begin(); it != privateFuncs.end();) {
1301+
for (std::list<const Function*>::const_iterator it = privateFuncs.cbegin(); it != privateFuncs.cend();) {
13021302
if ((*it)->isImplicitlyVirtual(true)) // Give true as default value to be returned if we don't see all base classes
13031303
it = privateFuncs.erase(it);
13041304
else
@@ -2026,8 +2026,8 @@ void CheckClass::virtualDestructor()
20262026
if (baseDestructor->access == AccessControl::Public) {
20272027
virtualDestructorError(baseDestructor->token, derivedFrom->name(), derivedClass->str(), false);
20282028
// check for duplicate error and remove it if found
2029-
const std::list<const Function *>::iterator found = find(inconclusiveErrors.begin(), inconclusiveErrors.end(), baseDestructor);
2030-
if (found != inconclusiveErrors.end())
2029+
const std::list<const Function *>::const_iterator found = std::find(inconclusiveErrors.cbegin(), inconclusiveErrors.cend(), baseDestructor);
2030+
if (found != inconclusiveErrors.cend())
20312031
inconclusiveErrors.erase(found);
20322032
}
20332033
}

lib/clangimport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ Scope *clangimport::AstNode::createScope(TokenList &tokenList, Scope::ScopeType
682682
const_cast<Token *>(vartok)->variable(replaceVar[vartok->variable()]);
683683
}
684684
std::list<Variable> &varlist = const_cast<Scope *>(def->scope())->varlist;
685-
for (std::list<Variable>::iterator var = varlist.begin(); var != varlist.end();) {
685+
for (std::list<Variable>::const_iterator var = varlist.cbegin(); var != varlist.cend();) {
686686
if (replaceVar.find(&(*var)) != replaceVar.end())
687687
var = varlist.erase(var);
688688
else

lib/importproject.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
// TODO: align the exclusion logic with PathMatch
4545
void ImportProject::ignorePaths(const std::vector<std::string> &ipaths)
4646
{
47-
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
47+
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
4848
bool ignore = false;
4949
for (std::string i : ipaths) {
5050
if (it->filename().size() > i.size() && it->filename().compare(0,i.size(),i)==0) {
@@ -72,7 +72,7 @@ void ImportProject::ignorePaths(const std::vector<std::string> &ipaths)
7272

7373
void ImportProject::ignoreOtherConfigs(const std::string &cfg)
7474
{
75-
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
75+
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
7676
if (it->cfg != cfg)
7777
it = fileSettings.erase(it);
7878
else
@@ -1409,7 +1409,7 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings *setti
14091409
void ImportProject::selectOneVsConfig(Platform::Type platform)
14101410
{
14111411
std::set<std::string> filenames;
1412-
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
1412+
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
14131413
if (it->cfg.empty()) {
14141414
++it;
14151415
continue;
@@ -1436,7 +1436,7 @@ void ImportProject::selectOneVsConfig(Platform::Type platform)
14361436
// cppcheck-suppress unusedFunction - used by GUI only
14371437
void ImportProject::selectVsConfigurations(Platform::Type platform, const std::vector<std::string> &configurations)
14381438
{
1439-
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
1439+
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
14401440
if (it->cfg.empty()) {
14411441
++it;
14421442
continue;

lib/symboldatabase.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,8 +1253,8 @@ void SymbolDatabase::fixVarId(VarIdMap & varIds, const Token * vartok, Token * m
12531253
varIds.insert(std::make_pair(vartok->varId(), memberId));
12541254
varId = varIds.find(vartok->varId());
12551255
}
1256-
MemberIdMap::iterator memberId = varId->second.find(membervar->nameToken()->varId());
1257-
if (memberId == varId->second.end()) {
1256+
MemberIdMap::const_iterator memberId = varId->second.find(membervar->nameToken()->varId());
1257+
if (memberId == varId->second.cend()) {
12581258
if (membertok->varId() == 0) {
12591259
varId->second.insert(std::make_pair(membervar->nameToken()->varId(), mTokenizer.newVarId()));
12601260
mVariableList.push_back(membervar);

lib/templatesimplifier.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,9 +1236,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
12361236
if (Token::Match(tok2, "(|{|["))
12371237
tok2 = tok2->link();
12381238
else if (Token::Match(tok2, "%type% <") && (tok2->strAt(2) == ">" || templateParameters(tok2->next()))) {
1239-
const std::list<TokenAndName>::iterator ti = std::find_if(mTemplateInstantiations.begin(),
1240-
mTemplateInstantiations.end(),
1241-
FindToken(tok2));
1239+
const std::list<TokenAndName>::const_iterator ti = std::find_if(mTemplateInstantiations.cbegin(),
1240+
mTemplateInstantiations.cend(),
1241+
FindToken(tok2));
12421242
if (ti != mTemplateInstantiations.end())
12431243
mTemplateInstantiations.erase(ti);
12441244
++indentlevel;
@@ -1255,9 +1255,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
12551255
continue;
12561256

12571257
// don't strip args from uninstantiated templates
1258-
const std::list<TokenAndName>::iterator ti2 = std::find_if(mTemplateInstantiations.begin(),
1259-
mTemplateInstantiations.end(),
1260-
FindName(declaration.name()));
1258+
const std::list<TokenAndName>::const_iterator ti2 = std::find_if(mTemplateInstantiations.cbegin(),
1259+
mTemplateInstantiations.cend(),
1260+
FindName(declaration.name()));
12611261

12621262
if (ti2 == mTemplateInstantiations.end())
12631263
continue;
@@ -1272,7 +1272,7 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
12721272

12731273
void TemplateSimplifier::simplifyTemplateAliases()
12741274
{
1275-
for (std::list<TokenAndName>::iterator it1 = mTemplateDeclarations.begin(); it1 != mTemplateDeclarations.end();) {
1275+
for (std::list<TokenAndName>::const_iterator it1 = mTemplateDeclarations.cbegin(); it1 != mTemplateDeclarations.cend();) {
12761276
const TokenAndName &aliasDeclaration = *it1;
12771277

12781278
if (!aliasDeclaration.isAlias()) {
@@ -1289,7 +1289,7 @@ void TemplateSimplifier::simplifyTemplateAliases()
12891289

12901290
// Look for alias usages..
12911291
bool found = false;
1292-
for (std::list<TokenAndName>::iterator it2 = mTemplateInstantiations.begin(); it2 != mTemplateInstantiations.end();) {
1292+
for (std::list<TokenAndName>::const_iterator it2 = mTemplateInstantiations.cbegin(); it2 != mTemplateInstantiations.cend();) {
12931293
const TokenAndName &aliasUsage = *it2;
12941294
if (!aliasUsage.token() || aliasUsage.fullName() != aliasDeclaration.fullName()) {
12951295
++it2;
@@ -1849,9 +1849,9 @@ void TemplateSimplifier::expandTemplate(
18491849
if (Token::Match(start, "[|{|(")) {
18501850
links[start->link()] = dst->previous();
18511851
} else if (Token::Match(start, "]|}|)")) {
1852-
std::map<const Token *, Token *>::iterator link = links.find(start);
1852+
std::map<const Token *, Token *>::const_iterator link = links.find(start);
18531853
// make sure link is valid
1854-
if (link != links.end()) {
1854+
if (link != links.cend()) {
18551855
Token::createMutualLinks(link->second, dst->previous());
18561856
links.erase(start);
18571857
}
@@ -3389,8 +3389,8 @@ void TemplateSimplifier::replaceTemplateUsage(
33893389
// Foo < int > => Foo<int>
33903390
for (const Token *tok = nameTok1->next(); tok != tok2; tok = tok->next()) {
33913391
if (tok->isName() && tok->templateSimplifierPointers() && !tok->templateSimplifierPointers()->empty()) {
3392-
std::list<TokenAndName>::iterator ti;
3393-
for (ti = mTemplateInstantiations.begin(); ti != mTemplateInstantiations.end();) {
3392+
std::list<TokenAndName>::const_iterator ti;
3393+
for (ti = mTemplateInstantiations.cbegin(); ti != mTemplateInstantiations.cend();) {
33943394
if (ti->token() == tok) {
33953395
ti = mTemplateInstantiations.erase(ti);
33963396
break;

lib/tokenize.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4353,8 +4353,8 @@ static void setVarIdStructMembers(Token *&tok1,
43534353
tok = tok->link();
43544354
if (Token::Match(tok->previous(), "[,{] . %name% =|{")) {
43554355
tok = tok->next();
4356-
const std::map<std::string, nonneg int>::iterator it = members.find(tok->str());
4357-
if (it == members.end()) {
4356+
const std::map<std::string, nonneg int>::const_iterator it = members.find(tok->str());
4357+
if (it == members.cend()) {
43584358
members[tok->str()] = ++varId;
43594359
tok->varId(varId);
43604360
} else {
@@ -4387,8 +4387,8 @@ static void setVarIdStructMembers(Token *&tok1,
43874387
break;
43884388

43894389
std::map<std::string, nonneg int>& members = structMembers[struct_varid];
4390-
const std::map<std::string, nonneg int>::iterator it = members.find(tok->str());
4391-
if (it == members.end()) {
4390+
const std::map<std::string, nonneg int>::const_iterator it = members.find(tok->str());
4391+
if (it == members.cend()) {
43924392
members[tok->str()] = ++varId;
43934393
tok->varId(varId);
43944394
} else {
@@ -5049,8 +5049,8 @@ void Tokenizer::setVarIdPass2()
50495049
}
50505050

50515051
if (tok->str() == "}") {
5052-
const std::map<const Token *, std::string>::iterator it = endOfScope.find(tok);
5053-
if (it != endOfScope.end())
5052+
const std::map<const Token *, std::string>::const_iterator it = endOfScope.find(tok);
5053+
if (it != endOfScope.cend())
50545054
scope.remove(it->second);
50555055
}
50565056

0 commit comments

Comments
 (0)