diff options
| author | Brandon Sanderson <singingboyo@hotmail.com> | 2013-08-24 00:22:40 -0700 |
|---|---|---|
| committer | Brandon Sanderson <singingboyo@hotmail.com> | 2013-09-06 21:21:59 -0700 |
| commit | 5478ebb553c5b0df91efde8d9da4b0eaac6c91fa (patch) | |
| tree | 252568e4cb38cd9629369ce01764f699b382b46f /src | |
| parent | 28d042e198d700287f0b946b13dab3b99e0ed962 (diff) | |
| download | rust-5478ebb553c5b0df91efde8d9da4b0eaac6c91fa.tar.gz rust-5478ebb553c5b0df91efde8d9da4b0eaac6c91fa.zip | |
Add with_mem_writer to std::rt::io::mem.
This is in many ways a replacement for the current std::io::with_str_writer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/rt/io/mem.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/rt/io/mem.rs b/src/libstd/rt/io/mem.rs index b278f10aed0..808e9f3a383 100644 --- a/src/libstd/rt/io/mem.rs +++ b/src/libstd/rt/io/mem.rs @@ -196,6 +196,14 @@ impl<'self> Seek for BufReader<'self> { fn seek(&mut self, _pos: i64, _style: SeekStyle) { fail!() } } +///Calls a function with a MemWriter and returns +///the writer's stored vector. +pub fn with_mem_writer(writeFn:&fn(&mut MemWriter)) -> ~[u8] { + let mut writer = MemWriter::new(); + writeFn(&mut writer); + writer.inner() +} + #[cfg(test)] mod test { use prelude::*; @@ -255,4 +263,10 @@ mod test { assert_eq!(reader.read(buf), None); assert!(reader.eof()); } + + #[test] + fn test_with_mem_writer() { + let buf = with_mem_writer(|wr| wr.write([1,2,3,4,5,6,7])); + assert_eq!(buf, ~[1,2,3,4,5,6,7]); + } } |
