| 196 | } |
| 197 | |
| 198 | size_t AdjustSubtokens(TTokenStructure& subtokens, size_t maxLen) { |
| 199 | Y_ASSERT(!subtokens.empty()); |
| 200 | |
| 201 | TCharSpan* const first = &subtokens[0]; |
| 202 | TCharSpan* p = first + subtokens.size() - 1; |
| 203 | while (p != first && p->Pos >= maxLen) { |
| 204 | --p; |
| 205 | } |
| 206 | |
| 207 | CutSubtoken(*p, maxLen); |
| 208 | subtokens.resize(p - first + 1); |
| 209 | p->TokenDelim = TOKDELIM_NULL; |
| 210 | return p->EndPos() + p->SuffixLen; |
| 211 | } |
| 212 | |
| 213 | size_t AdjustSubtokens(TTokenStructure& subtokens, size_t n, size_t maxLen) { |
| 214 | Y_ASSERT(n > 0); |
no test coverage detected