DotNext by .NET Foundation and Contributors

<PackageReference Include="DotNext" Version="4.2.0" />

 PooledArrayBufferWriter<T>

public ref T this[int index] { get; }

public ref T this[long index] { get; }

public ArraySegment<T> WrittenArray { get; }

public PooledArrayBufferWriter(ArrayPool<T> pool, int initialCapacity)

public PooledArrayBufferWriter(int initialCapacity)

public ArraySegment<T> GetArray(int sizeHint = 0)

public void Insert(int index, ReadOnlySpan<T> items)

public void Overwrite(int index, ReadOnlySpan<T> items)

public void RemoveFirst(int count)

public void RemoveLast(int count)