diff options
| author | bors <bors@rust-lang.org> | 2014-01-10 01:56:18 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-01-10 01:56:18 -0800 |
| commit | 72a52522ca2da85006553c62134bf98299525162 (patch) | |
| tree | 5806143a495b5a648c1b972f810e47dd09dce6b5 | |
| parent | 587d0f5a3252355c8dd97eec9691e5b60af1cc2a (diff) | |
| parent | 52e06c663cb25308c1784b2263b93f4af32107c2 (diff) | |
| download | rust-72a52522ca2da85006553c62134bf98299525162.tar.gz rust-72a52522ca2da85006553c62134bf98299525162.zip | |
auto merge of #11437 : sfackler/rust/mem-eof, r=alexcrichton
It's easy to figure out and useful as a sanity check sometimes.
| -rw-r--r-- | src/libstd/io/mem.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libstd/io/mem.rs b/src/libstd/io/mem.rs index 53aa176134d..f036131d211 100644 --- a/src/libstd/io/mem.rs +++ b/src/libstd/io/mem.rs @@ -111,6 +111,11 @@ impl MemReader { } } + /// Tests whether this reader has read all bytes in its buffer. + /// + /// If `true`, then this will no longer return bytes from `read`. + pub fn eof(&self) -> bool { self.pos == self.buf.len() } + /// Acquires an immutable reference to the underlying buffer of this /// `MemReader`. /// @@ -124,7 +129,7 @@ impl MemReader { impl Reader for MemReader { fn read(&mut self, buf: &mut [u8]) -> Option<uint> { - if self.pos == self.buf.len() { return None } + if self.eof() { return None } let write_len = min(buf.len(), self.buf.len() - self.pos); { @@ -216,11 +221,16 @@ impl<'a> BufReader<'a> { pos: 0 } } + + /// Tests whether this reader has read all bytes in its buffer. + /// + /// If `true`, then this will no longer return bytes from `read`. + pub fn eof(&self) -> bool { self.pos == self.buf.len() } } impl<'a> Reader for BufReader<'a> { fn read(&mut self, buf: &mut [u8]) -> Option<uint> { - if self.pos == self.buf.len() { return None } + if self.eof() { return None } let write_len = min(buf.len(), self.buf.len() - self.pos); { |
