| 708 | int EndOffset = 0; // Because we don't own text buffer we need to maintain EndOffset (may bake in LineOffsets?) |
| 709 | |
| 710 | void clear() { LineOffsets.clear(); EndOffset = 0; } |
| 711 | int size() { return LineOffsets.Size; } |
| 712 | const char* get_line_begin(const char* base, int n) { return base + LineOffsets[n]; } |
| 713 | const char* get_line_end(const char* base, int n) { return base + (n + 1 < LineOffsets.Size ? (LineOffsets[n + 1] - 1) : EndOffset); } |