From dec2e9fe11a7e95f7a8d19a6dc8f6f03e616bc44 Mon Sep 17 00:00:00 2001 From: Andrei Sergeev Date: Thu, 24 Aug 2023 09:59:21 +0400 Subject: [PATCH] Add Builder AddRange from ReadOnlySpan --- ...FlatArray.Builder.AddRange.ReadOnlySpan.cs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.ReadOnlySpan.cs diff --git a/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.ReadOnlySpan.cs b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.ReadOnlySpan.cs new file mode 100644 index 00000000..1b442d6c --- /dev/null +++ b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.ReadOnlySpan.cs @@ -0,0 +1,22 @@ +namespace System; + +partial struct FlatArray +{ + partial class Builder + { + // TODO: Add the tests and make public + internal Builder AddRange(ReadOnlySpan items) + { + if (items.IsEmpty) + { + return this; + } + + InnerBufferHelperEx.EnsureBufferCapacity(ref this.items, length, items.Length); + items.CopyTo(new Span(this.items, length, items.Length)); + length += items.Length; + + return this; + } + } +}