Iterates over all strings of length <= 4 made of letters a-g.
| 322 | |
| 323 | // Iterates over all strings of length <= 4 made of letters a-g. |
| 324 | static bool LexicographicStep(TString& s) { |
| 325 | if (s.length() < 4) { |
| 326 | s += "a"; |
| 327 | return true; |
| 328 | } |
| 329 | while (!s.empty() && s.back() == 'g') |
| 330 | s.pop_back(); |
| 331 | if (s.empty()) |
| 332 | return false; |
| 333 | char last = s.back(); |
| 334 | last++; |
| 335 | s.pop_back(); |
| 336 | s.push_back(last); |
| 337 | return true; |
| 338 | } |
| 339 | |
| 340 | template <class T> |
| 341 | void TCompactTrieTest::CheckUpperBound(const char* data, size_t datalen) { |