avoid excess string copy in auto loops
This commit is contained in:
@ -231,7 +231,7 @@ void DumpCustomADIOS::init_style()
|
||||
delete[] columns;
|
||||
std::string combined;
|
||||
int icol = 0;
|
||||
for (auto item : utils::split_words(columns_default)) {
|
||||
for (const auto &item : utils::split_words(columns_default)) {
|
||||
if (combined.size()) combined += " ";
|
||||
if (keyword_user[icol].size())
|
||||
combined += keyword_user[icol];
|
||||
|
||||
@ -238,7 +238,7 @@ void DumpAtomMPIIO::init_style()
|
||||
|
||||
int icol = 0;
|
||||
columns.clear();
|
||||
for (auto item : utils::split_words(default_columns)) {
|
||||
for (const auto &item : utils::split_words(default_columns)) {
|
||||
if (columns.size()) columns += " ";
|
||||
if (keyword_user[icol].size())
|
||||
columns += keyword_user[icol];
|
||||
|
||||
@ -209,7 +209,7 @@ void DumpCustomMPIIO::init_style()
|
||||
delete[] columns;
|
||||
std::string combined;
|
||||
int icol = 0;
|
||||
for (auto item : utils::split_words(columns_default)) {
|
||||
for (const auto &item : utils::split_words(columns_default)) {
|
||||
if (combined.size()) combined += " ";
|
||||
if (keyword_user[icol].size())
|
||||
combined += keyword_user[icol];
|
||||
|
||||
@ -448,7 +448,7 @@ int plugin_get_num_plugins()
|
||||
int plugin_find(const char *style, const char *name)
|
||||
{
|
||||
int i = 0;
|
||||
for (auto entry : pluginlist) {
|
||||
for (const auto &entry : pluginlist) {
|
||||
if ((strcmp(style, entry.style) == 0) && (strcmp(name, entry.name) == 0)) return i;
|
||||
++i;
|
||||
}
|
||||
|
||||
@ -1133,7 +1133,7 @@ void Dump::modify_params(int narg, char **arg)
|
||||
} else if (strcmp(arg[iarg],"colname") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
if (strcmp(arg[iarg+1],"default") == 0) {
|
||||
for (auto item : keyword_user) item.clear();
|
||||
for (auto &item : keyword_user) item.clear();
|
||||
iarg += 2;
|
||||
} else {
|
||||
if (iarg+3 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
|
||||
@ -161,7 +161,7 @@ void DumpLocal::init_style()
|
||||
delete[] columns;
|
||||
std::string combined;
|
||||
int icol = 0;
|
||||
for (auto item : utils::split_words(columns_default)) {
|
||||
for (const auto &item : utils::split_words(columns_default)) {
|
||||
if (combined.size()) combined += " ";
|
||||
if (keyword_user[icol].size()) combined += keyword_user[icol];
|
||||
else combined += item;
|
||||
|
||||
@ -678,7 +678,7 @@ void FixAveTime::invoke_scalar(bigint ntimestep)
|
||||
if (!yaml_header || overwrite) {
|
||||
yaml_header = true;
|
||||
fputs("keywords: ['Step', ", fp);
|
||||
for (auto k : keyword) fmt::print(fp, "'{}', ", k);
|
||||
for (const auto &k : keyword) fmt::print(fp, "'{}', ", k);
|
||||
fputs("]\ndata:\n", fp);
|
||||
}
|
||||
fmt::print(fp, " - [{}, ", ntimestep);
|
||||
@ -900,7 +900,7 @@ void FixAveTime::invoke_vector(bigint ntimestep)
|
||||
if (!yaml_header || overwrite) {
|
||||
yaml_header = true;
|
||||
fputs("keywords: [", fp);
|
||||
for (auto k : keyword) fmt::print(fp, "'{}', ", k);
|
||||
for (const auto &k : keyword) fmt::print(fp, "'{}', ", k);
|
||||
fputs("]\ndata:\n", fp);
|
||||
}
|
||||
fmt::print(fp, " {}:\n", ntimestep);
|
||||
|
||||
@ -629,7 +629,7 @@ void Thermo::modify_params(int narg, char **arg)
|
||||
} else if (strcmp(arg[iarg], "colname") == 0) {
|
||||
if (iarg + 2 > narg) error->all(FLERR, "Illegal thermo_modify command");
|
||||
if (strcmp(arg[iarg + 1], "default") == 0) {
|
||||
for (auto item : keyword_user) item.clear();
|
||||
for (auto &item : keyword_user) item.clear();
|
||||
iarg += 2;
|
||||
} else {
|
||||
if (iarg + 3 > narg) error->all(FLERR, "Illegal thermo_modify command");
|
||||
@ -658,7 +658,7 @@ void Thermo::modify_params(int narg, char **arg)
|
||||
format_int_user.clear();
|
||||
format_bigint_user.clear();
|
||||
format_float_user.clear();
|
||||
for (auto item : format_column_user) item.clear();
|
||||
for (auto &item : format_column_user) item.clear();
|
||||
iarg += 2;
|
||||
continue;
|
||||
}
|
||||
@ -747,7 +747,7 @@ void Thermo::allocate()
|
||||
|
||||
int i = 0;
|
||||
key2col.clear();
|
||||
for (auto item : utils::split_words(line)) { key2col[item] = i++; }
|
||||
for (const auto &item : utils::split_words(line)) { key2col[item] = i++; }
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user