Avoid iterator+2 or -2 passes over the boundary

This commit is contained in:
Jingyu Zhou 2020-07-30 13:42:36 -07:00
parent 9a63882cd4
commit cb582e58c9
1 changed files with 8 additions and 8 deletions

View File

@ -434,32 +434,32 @@ void testIteratorIncrement() {
int i = 0;
for (auto iter = xs.begin(); iter < xs.end();) {
ASSERT(*iter == StringRef(std::to_string(i)));
iter += 2;
i += 2;
iter += 1;
i += 1;
}
}
if (size > 0) {
int i = xs.size() - 1;
for (auto iter = xs.end() - 1; iter >= xs.begin();) {
ASSERT(*iter == StringRef(std::to_string(i)));
iter -= 2;
i -= 2;
iter -= 1;
i -= 1;
}
}
{
int i = 0;
for (auto iter = xs.begin(); iter < xs.end();) {
ASSERT(*iter == StringRef(std::to_string(i)));
iter = iter + 2;
i += 2;
iter = iter + 1;
i += 1;
}
}
if (size > 0) {
int i = xs.size() - 1;
for (auto iter = xs.end() - 1; iter >= xs.begin();) {
ASSERT(*iter == StringRef(std::to_string(i)));
iter = iter - 2;
i -= 2;
iter = iter - 1;
i -= 1;
}
}
}