int pos = cur_idx + index;
if (pos >= SIZE) pos -= SIZE;
- return &buf[cur_idx];
+ return &buf[pos];
+ }
+
+ char * get_buf_base()
+ {
+ return buf;
}
int get_contiguous_length(char *ptr)
return 1;
}
+ // Trim the buffer to the specified length (must be less than current length)
+ void trim_to(int new_length)
+ {
+ length = new_length;
+ }
+
char operator[](int idx) noexcept
{
int dest_idx = cur_idx + idx;