From 4a0ec6ce8ccaa74f77f937107de3f0b72dc9386b Mon Sep 17 00:00:00 2001 From: disarray2077 <86157825+disarray2077@users.noreply.github.com> Date: Tue, 22 Nov 2022 17:30:02 -0300 Subject: [PATCH] Add capacity ctor and `SetLength` to MemoryStream --- BeefLibs/corlib/src/IO/MemoryStream.bf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/BeefLibs/corlib/src/IO/MemoryStream.bf b/BeefLibs/corlib/src/IO/MemoryStream.bf index 1522dad0..ac994cc6 100644 --- a/BeefLibs/corlib/src/IO/MemoryStream.bf +++ b/BeefLibs/corlib/src/IO/MemoryStream.bf @@ -50,6 +50,12 @@ namespace System.IO mOwns = true; mMemory = new List(); } + + public this(int capacity) + { + mOwns = true; + mMemory = new List(capacity); + } public this(List memory, bool owns = true) { @@ -90,5 +96,17 @@ namespace System.IO { return .Ok; } + + public override Result SetLength(int64 length) + { + Debug.Assert(mOwns); + + mMemory.Resize((.)length); + + if (Position >= length) + Position = Length; + + return .Ok; + } } }