]> git.lizzy.rs Git - rust.git/blobdiff - src/libstd/fmt/mod.rs
auto merge of #14133 : db48x/rust/ord-for-mut-refs, r=alexcrichton
[rust.git] / src / libstd / fmt / mod.rs
index 3ba013df278ef04c020ceacb0e0a8836ffadce07..d4f12f590ae7516c0e064c2c7395f471d44facd1 100644 (file)
@@ -504,6 +504,7 @@ fn my_fmt_fn(args: &fmt::Arguments) {
 use slice;
 use str::{StrSlice, StrAllocating, UTF16Item, ScalarValue, LoneSurrogate};
 use str;
+use strbuf::StrBuf;
 
 pub use self::num::radix;
 pub use self::num::Radix;
@@ -788,6 +789,11 @@ pub fn format(args: &Arguments) -> ~str {
     unsafe { format_unsafe(args.fmt, args.args) }
 }
 
+/// Temporary transitionary thing.
+pub fn format_strbuf(args: &Arguments) -> StrBuf {
+    unsafe { format_unsafe_strbuf(args.fmt, args.args) }
+}
+
 /// The unsafe version of the formatting function.
 ///
 /// This is currently an unsafe function because the types of all arguments
@@ -815,6 +821,14 @@ pub unsafe fn format_unsafe(fmt: &[rt::Piece], args: &[Argument]) -> ~str {
     return str::from_utf8(output.unwrap().as_slice()).unwrap().to_owned();
 }
 
+/// Temporary transitionary thing.
+pub unsafe fn format_unsafe_strbuf(fmt: &[rt::Piece], args: &[Argument])
+                                   -> StrBuf {
+    let mut output = MemWriter::new();
+    write_unsafe(&mut output as &mut io::Writer, fmt, args).unwrap();
+    return str::from_utf8(output.unwrap().as_slice()).unwrap().into_strbuf();
+}
+
 impl<'a> Formatter<'a> {
 
     // First up is the collection of functions used to execute a format string