From ec51d8fd037cbdfcee7fcf5dbada906451cd1633 Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Tue, 21 Feb 2012 09:22:50 -0800 Subject: [PATCH] std: Add helpers to simplify making str io::writers --- src/libstd/io.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/libstd/io.rs b/src/libstd/io.rs index 1efd91d54db..253853c6762 100644 --- a/src/libstd/io.rs +++ b/src/libstd/io.rs @@ -508,6 +508,19 @@ fn mem_buffer_buf(b: mem_buffer) -> [u8] { vec::from_mut(b.buf) } fn mem_buffer_str(b: mem_buffer) -> str { let b_ = vec::from_mut(b.buf); str::from_bytes(b_) + +fn with_str_writer(f: fn(writer)) -> str { + let buf = mk_mem_buffer(); + let wr = mem_buffer_writer(buf); + f(wr); + io::mem_buffer_str(buf) +} + +fn with_buf_writer(f: fn(writer)) -> [u8] { + let buf = mk_mem_buffer(); + let wr = mem_buffer_writer(buf); + f(wr); + io::mem_buffer_buf(buf) } // Utility functions