pub struct ReadOnlyTextBuffer { chars: Vec, pointer: usize, } impl ReadOnlyTextBuffer { pub fn from_text(text: &str) -> Self { Self { chars: text.chars().map(|c| c as u32 as u8).collect(), pointer: 0, } } pub fn read_byte(&mut self) -> u8 { let byte = self.chars[self.pointer]; self.pointer += 1; return byte; } pub fn reset_pointer(&mut self) { self.pointer = 0; } }