I have a project where I currently read the entire input into a Vec<u8>
. While this isn't very memory efficient, one operation that is quite easy to do is checking for EOF without consuming any data. I have an index into the vector, and I can just check whether index >= buf.len()
.
In order to not have to read an entire file in memory, I'd like to switch to using a Read
object instead. One difficulty I have is the absence of a method to check for EOF. For instance, I have a loop that looks like this:
while !self.eof() {
let t = self.disk_log_term()?;
terms.push(t);
}
(self.eof()
does the check I described in the first paragraph.)
Is there a method or a trait that I missed that would give me what I'm looking for?