about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2012-02-21 09:22:50 -0800
committerBrian Anderson <banderson@mozilla.com>2012-02-28 18:00:50 -0800
commitec51d8fd037cbdfcee7fcf5dbada906451cd1633 (patch)
tree0d686a69fd8a30132789bf7c5d08ef12a71e5e51 /src/libstd
parentb9948baf787e346e1684f530031adabb0c2a8532 (diff)
downloadrust-ec51d8fd037cbdfcee7fcf5dbada906451cd1633.tar.gz
rust-ec51d8fd037cbdfcee7fcf5dbada906451cd1633.zip
std: Add helpers to simplify making str io::writers
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/io.rs13
1 files changed, 13 insertions, 0 deletions
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