Skip to content

Commit

Permalink
more const_iterator usage (#6761)
Browse files Browse the repository at this point in the history
if you are only modifying the container itself and not the actual
contents you can still use `const_iterator`.
  • Loading branch information
firewave committed Sep 2, 2024
1 parent 5e1db12 commit 01f9aa3
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 37 deletions.
4 changes: 2 additions & 2 deletions cli/cmdlineparser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ bool CmdLineParser::fillSettingsFromArgs(int argc, const char* const argv[])

// Check that all include paths exist
{
for (std::list<std::string>::iterator iter = mSettings.includePaths.begin();
iter != mSettings.includePaths.end();
for (std::list<std::string>::const_iterator iter = mSettings.includePaths.cbegin();
iter != mSettings.includePaths.cend();
) {
const std::string path(Path::toNativeSeparators(*iter));
if (Path::isDirectory(path))
Expand Down
14 changes: 7 additions & 7 deletions cli/processexecutor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,18 +318,18 @@ unsigned int ProcessExecutor::check()
const int r = select(*std::max_element(rpipes.cbegin(), rpipes.cend()) + 1, &rfds, nullptr, nullptr, &tv);

if (r > 0) {
std::list<int>::iterator rp = rpipes.begin();
while (rp != rpipes.end()) {
std::list<int>::const_iterator rp = rpipes.cbegin();
while (rp != rpipes.cend()) {
if (FD_ISSET(*rp, &rfds)) {
std::string name;
const std::map<int, std::string>::iterator p = pipeFile.find(*rp);
if (p != pipeFile.end()) {
const std::map<int, std::string>::const_iterator p = pipeFile.find(*rp);
if (p != pipeFile.cend()) {
name = p->second;
}
const bool readRes = handleRead(*rp, result, name);
if (!readRes) {
std::size_t size = 0;
if (p != pipeFile.end()) {
if (p != pipeFile.cend()) {
pipeFile.erase(p);
const auto fs = std::find_if(mFiles.cbegin(), mFiles.cend(), [&name](const FileWithDetails& entry) {
return entry.path() == name;
Expand Down Expand Up @@ -358,8 +358,8 @@ unsigned int ProcessExecutor::check()
const pid_t child = waitpid(0, &stat, WNOHANG);
if (child > 0) {
std::string childname;
const std::map<pid_t, std::string>::iterator c = childFile.find(child);
if (c != childFile.end()) {
const std::map<pid_t, std::string>::const_iterator c = childFile.find(child);
if (c != childFile.cend()) {
childname = c->second;
childFile.erase(c);
}
Expand Down
6 changes: 3 additions & 3 deletions lib/checkclass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1298,7 +1298,7 @@ void CheckClass::privateFunctions()
// Bailout for overridden virtual functions of base classes
if (!scope->definedType->derivedFrom.empty()) {
// Check virtual functions
for (std::list<const Function*>::iterator it = privateFuncs.begin(); it != privateFuncs.end();) {
for (std::list<const Function*>::const_iterator it = privateFuncs.cbegin(); it != privateFuncs.cend();) {
if ((*it)->isImplicitlyVirtual(true)) // Give true as default value to be returned if we don't see all base classes
it = privateFuncs.erase(it);
else
Expand Down Expand Up @@ -2026,8 +2026,8 @@ void CheckClass::virtualDestructor()
if (baseDestructor->access == AccessControl::Public) {
virtualDestructorError(baseDestructor->token, derivedFrom->name(), derivedClass->str(), false);
// check for duplicate error and remove it if found
const std::list<const Function *>::iterator found = find(inconclusiveErrors.begin(), inconclusiveErrors.end(), baseDestructor);
if (found != inconclusiveErrors.end())
const std::list<const Function *>::const_iterator found = std::find(inconclusiveErrors.cbegin(), inconclusiveErrors.cend(), baseDestructor);
if (found != inconclusiveErrors.cend())
inconclusiveErrors.erase(found);
}
}
Expand Down
2 changes: 1 addition & 1 deletion lib/clangimport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ Scope *clangimport::AstNode::createScope(TokenList &tokenList, Scope::ScopeType
const_cast<Token *>(vartok)->variable(replaceVar[vartok->variable()]);
}
std::list<Variable> &varlist = const_cast<Scope *>(def->scope())->varlist;
for (std::list<Variable>::iterator var = varlist.begin(); var != varlist.end();) {
for (std::list<Variable>::const_iterator var = varlist.cbegin(); var != varlist.cend();) {
if (replaceVar.find(&(*var)) != replaceVar.end())
var = varlist.erase(var);
else
Expand Down
8 changes: 4 additions & 4 deletions lib/importproject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
// TODO: align the exclusion logic with PathMatch
void ImportProject::ignorePaths(const std::vector<std::string> &ipaths)
{
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
bool ignore = false;
for (std::string i : ipaths) {
if (it->filename().size() > i.size() && it->filename().compare(0,i.size(),i)==0) {
Expand Down Expand Up @@ -72,7 +72,7 @@ void ImportProject::ignorePaths(const std::vector<std::string> &ipaths)

void ImportProject::ignoreOtherConfigs(const std::string &cfg)
{
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg != cfg)
it = fileSettings.erase(it);
else
Expand Down Expand Up @@ -1409,7 +1409,7 @@ bool ImportProject::importCppcheckGuiProject(std::istream &istr, Settings *setti
void ImportProject::selectOneVsConfig(Platform::Type platform)
{
std::set<std::string> filenames;
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg.empty()) {
++it;
continue;
Expand All @@ -1436,7 +1436,7 @@ void ImportProject::selectOneVsConfig(Platform::Type platform)
// cppcheck-suppress unusedFunction - used by GUI only
void ImportProject::selectVsConfigurations(Platform::Type platform, const std::vector<std::string> &configurations)
{
for (std::list<FileSettings>::iterator it = fileSettings.begin(); it != fileSettings.end();) {
for (std::list<FileSettings>::const_iterator it = fileSettings.cbegin(); it != fileSettings.cend();) {
if (it->cfg.empty()) {
++it;
continue;
Expand Down
4 changes: 2 additions & 2 deletions lib/symboldatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1253,8 +1253,8 @@ void SymbolDatabase::fixVarId(VarIdMap & varIds, const Token * vartok, Token * m
varIds.insert(std::make_pair(vartok->varId(), memberId));
varId = varIds.find(vartok->varId());
}
MemberIdMap::iterator memberId = varId->second.find(membervar->nameToken()->varId());
if (memberId == varId->second.end()) {
MemberIdMap::const_iterator memberId = varId->second.find(membervar->nameToken()->varId());
if (memberId == varId->second.cend()) {
if (membertok->varId() == 0) {
varId->second.insert(std::make_pair(membervar->nameToken()->varId(), mTokenizer.newVarId()));
mVariableList.push_back(membervar);
Expand Down
24 changes: 12 additions & 12 deletions lib/templatesimplifier.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1236,9 +1236,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
if (Token::Match(tok2, "(|{|["))
tok2 = tok2->link();
else if (Token::Match(tok2, "%type% <") && (tok2->strAt(2) == ">" || templateParameters(tok2->next()))) {
const std::list<TokenAndName>::iterator ti = std::find_if(mTemplateInstantiations.begin(),
mTemplateInstantiations.end(),
FindToken(tok2));
const std::list<TokenAndName>::const_iterator ti = std::find_if(mTemplateInstantiations.cbegin(),
mTemplateInstantiations.cend(),
FindToken(tok2));
if (ti != mTemplateInstantiations.end())
mTemplateInstantiations.erase(ti);
++indentlevel;
Expand All @@ -1255,9 +1255,9 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration)
continue;

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

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

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

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

// Look for alias usages..
bool found = false;
for (std::list<TokenAndName>::iterator it2 = mTemplateInstantiations.begin(); it2 != mTemplateInstantiations.end();) {
for (std::list<TokenAndName>::const_iterator it2 = mTemplateInstantiations.cbegin(); it2 != mTemplateInstantiations.cend();) {
const TokenAndName &aliasUsage = *it2;
if (!aliasUsage.token() || aliasUsage.fullName() != aliasDeclaration.fullName()) {
++it2;
Expand Down Expand Up @@ -1849,9 +1849,9 @@ void TemplateSimplifier::expandTemplate(
if (Token::Match(start, "[|{|(")) {
links[start->link()] = dst->previous();
} else if (Token::Match(start, "]|}|)")) {
std::map<const Token *, Token *>::iterator link = links.find(start);
std::map<const Token *, Token *>::const_iterator link = links.find(start);
// make sure link is valid
if (link != links.end()) {
if (link != links.cend()) {
Token::createMutualLinks(link->second, dst->previous());
links.erase(start);
}
Expand Down Expand Up @@ -3389,8 +3389,8 @@ void TemplateSimplifier::replaceTemplateUsage(
// Foo < int > => Foo<int>
for (const Token *tok = nameTok1->next(); tok != tok2; tok = tok->next()) {
if (tok->isName() && tok->templateSimplifierPointers() && !tok->templateSimplifierPointers()->empty()) {
std::list<TokenAndName>::iterator ti;
for (ti = mTemplateInstantiations.begin(); ti != mTemplateInstantiations.end();) {
std::list<TokenAndName>::const_iterator ti;
for (ti = mTemplateInstantiations.cbegin(); ti != mTemplateInstantiations.cend();) {
if (ti->token() == tok) {
ti = mTemplateInstantiations.erase(ti);
break;
Expand Down
12 changes: 6 additions & 6 deletions lib/tokenize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4353,8 +4353,8 @@ static void setVarIdStructMembers(Token *&tok1,
tok = tok->link();
if (Token::Match(tok->previous(), "[,{] . %name% =|{")) {
tok = tok->next();
const std::map<std::string, nonneg int>::iterator it = members.find(tok->str());
if (it == members.end()) {
const std::map<std::string, nonneg int>::const_iterator it = members.find(tok->str());
if (it == members.cend()) {
members[tok->str()] = ++varId;
tok->varId(varId);
} else {
Expand Down Expand Up @@ -4387,8 +4387,8 @@ static void setVarIdStructMembers(Token *&tok1,
break;

std::map<std::string, nonneg int>& members = structMembers[struct_varid];
const std::map<std::string, nonneg int>::iterator it = members.find(tok->str());
if (it == members.end()) {
const std::map<std::string, nonneg int>::const_iterator it = members.find(tok->str());
if (it == members.cend()) {
members[tok->str()] = ++varId;
tok->varId(varId);
} else {
Expand Down Expand Up @@ -5049,8 +5049,8 @@ void Tokenizer::setVarIdPass2()
}

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

Expand Down

0 comments on commit 01f9aa3

Please sign in to comment.