DotNext by .NET Foundation and Contributors

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

 SpanWriter<T>

public struct SpanWriter<T>
public ref T Current { get; }

public int FreeCapacity { get; }

public Span<T> RemainingSpan { get; }

public Span<T> Span { get; }

public int WrittenCount { get; set; }

public Span<T> WrittenSpan { get; }

public SpanWriter(Span<T> span)

public SpanWriter(ref T reference, int length)

public void Add(T item)

public void Advance(int count)

public void Reset()

public void Rewind(int count)

public Span<T> Slide(int count)

public bool TryAdd(T item)

public bool TrySlide(int count, out Span segment)

public bool TryWrite(ReadOnlySpan<T> input)

public bool TryWrite<TArg>(method action, TArg arg)

public int Write(ReadOnlySpan<T> input)

public void Write<TArg>(method action, TArg arg, int count)