pub struct Cursor<'row> {
pub(super) bytes: &'row [u8],
}
impl<'row> Cursor<'row> {
pub(super) unsafe fn text<const PREFIX: usize>(&mut self) -> &'row str {
let length = unsafe { self.bytes.as_ptr().cast::<[u8; 4]>().read_unaligned() };
let length = i32::from_be_bytes(length) as usize;
let text = unsafe { self.bytes.get_unchecked(4 + PREFIX..4 + length) };
self.bytes = unsafe { self.bytes.get_unchecked(4 + length..) };
unsafe { std::str::from_utf8_unchecked(text) }
}
}