about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2014-10-25 18:33:56 -0700
committerSteven Fackler <sfackler@gmail.com>2014-10-25 19:23:39 -0700
commitbed5a7d92a90f067e933fb7e4f2d656330f88f11 (patch)
tree84c743b0aa06f2ae7ae2a54a758aa296faa91fd8 /src/libstd
parent80e5fe1a56bb95e8e89d5f8f0ff5122583bb5336 (diff)
downloadrust-bed5a7d92a90f067e933fb7e4f2d656330f88f11.tar.gz
rust-bed5a7d92a90f067e933fb7e4f2d656330f88f11.zip
Add MemWriter::from_vec
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/io/mem.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstd/io/mem.rs b/src/libstd/io/mem.rs
index f86ae05d623..dd4a3e05935 100644
--- a/src/libstd/io/mem.rs
+++ b/src/libstd/io/mem.rs
@@ -22,7 +22,7 @@ use slice;
 use slice::AsSlice;
 use vec::Vec;
 
-static BUF_CAPACITY: uint = 128;
+const BUF_CAPACITY: uint = 128;
 
 fn combine(seek: SeekStyle, cur: uint, end: uint, offset: i64) -> IoResult<u64> {
     // compute offset as signed and clamp to prevent overflow
@@ -71,7 +71,12 @@ impl MemWriter {
     /// the internal buffer.
     #[inline]
     pub fn with_capacity(n: uint) -> MemWriter {
-        MemWriter { buf: Vec::with_capacity(n) }
+        MemWriter::from_vec(Vec::with_capacity(n))
+    }
+    /// Create a new `MemWriter` that will append to an existing `Vec`.
+    #[inline]
+    pub fn from_vec(buf: Vec<u8>) -> MemWriter {
+        MemWriter { buf: buf }
     }
 
     /// Acquires an immutable reference to the underlying buffer of this