PIEvaluator code brush
This commit is contained in:
@@ -480,19 +480,23 @@ bool PIEvaluator::fillElements() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
cnum = 0;
|
cnum = 0;
|
||||||
PIVector<PIPair<int, int> > var_index;
|
typedef PIPair<int, int> PairII;
|
||||||
|
PIVector<PairII> var_index;
|
||||||
for (int i = 0; i < content.variables.size_s(); ++i)
|
for (int i = 0; i < content.variables.size_s(); ++i)
|
||||||
var_index << PIPair<int, int>(i, content.variables[i].name.length());
|
var_index << PairII(i, content.variables[i].name.length());
|
||||||
var_index.sort([](const PIPair<int, int> * v1, const PIPair<int, int> * v2)->int {return v1->second > v2->second ? -1 : (v1->second == v2->second ? 0 : 1);});
|
var_index.sort([](const PairII * v1, const PairII * v2) -> int {
|
||||||
|
return v1->second > v2->second ? -1 : (v1->second == v2->second ? 0 : 1);
|
||||||
|
});
|
||||||
for (int i = 0; i < var_index.size_s(); i++) {
|
for (int i = 0; i < var_index.size_s(); i++) {
|
||||||
curfind = content.variables[var_index[i].first].name;
|
int vind = var_index[i].first;
|
||||||
|
curfind = content.variables[vind].name;
|
||||||
flen = curfind.length();
|
flen = curfind.length();
|
||||||
fstart = 0;
|
fstart = 0;
|
||||||
while (fstart >= 0) {
|
while (fstart >= 0) {
|
||||||
fstart = tmps.find(curfind, fstart);
|
fstart = tmps.find(curfind, fstart);
|
||||||
if (fstart < 0) break;
|
if (fstart < 0) break;
|
||||||
for (int j = fstart; j < fstart + flen; j++) {
|
for (int j = fstart; j < fstart + flen; j++) {
|
||||||
elements[j].set(etVariable, cnum, var_index[i].first);
|
elements[j].set(etVariable, cnum, vind);
|
||||||
tmps.replace(j, 1, fc);
|
tmps.replace(j, 1, fc);
|
||||||
}
|
}
|
||||||
cnum++;
|
cnum++;
|
||||||
|
|||||||
Reference in New Issue
Block a user