Show / Hide Table of Contents

Class SequenceBuilder<T>

Represents builder of non-contiguous memory buffer.

Inheritance
object
Disposable
SparseBufferWriter<T>
SequenceBuilder<T>
Implements
IGrowableBuffer<T>
IBufferWriter<T>
IConsumer<ReadOnlySpan<T>>
ISupplier<ReadOnlyMemory<T>, CancellationToken, ValueTask>
IResettable
IEnumerable<ReadOnlyMemory<T>>
IEnumerable
IReadOnlySequenceSource<T>
IDisposable
ISupplier<ReadOnlySequence<T>>
IFunctional
Inherited Members
SparseBufferWriter<T>.TryGetWrittenContent(out ReadOnlyMemory<T>)
SparseBufferWriter<T>.Write(ReadOnlySpan<T>)
SparseBufferWriter<T>.Write(ReadOnlyMemory<T>, bool)
SparseBufferWriter<T>.Add(T)
SparseBufferWriter<T>.Write(in ReadOnlySequence<T>, bool)
SparseBufferWriter<T>.CopyTo<TConsumer>(TConsumer)
SparseBufferWriter<T>.CopyTo<TArg>(ReadOnlySpanAction<T, TArg>, TArg)
SparseBufferWriter<T>.CopyTo(Span<T>)
SparseBufferWriter<T>.Clear()
SparseBufferWriter<T>.Dispose(bool)
SparseBufferWriter<T>.ToString()
SparseBufferWriter<T>.GetPosition(long, SequencePosition)
SparseBufferWriter<T>.Read(ref SequencePosition, long)
SparseBufferWriter<T>.CopyTo(scoped Span<T>, scoped ref SequencePosition)
SparseBufferWriter<T>.CopyTo<TConsumer>(TConsumer, SequencePosition)
SparseBufferWriter<T>.CopyTo<TConsumer>(scoped TConsumer, scoped ref SequencePosition, long)
SparseBufferWriter<T>.GetEnumerator()
SparseBufferWriter<T>.WrittenCount
SparseBufferWriter<T>.IsSingleSegment
SparseBufferWriter<T>.End
SparseBufferWriter<T>.Start
Disposable.CreateException()
Disposable.GetDisposedTask<T>()
Disposable.TrySetDisposedException<T>(TaskCompletionSource<T>)
Disposable.TrySetDisposedException(TaskCompletionSource)
Disposable.DisposeAsyncCore()
Disposable.DisposeAsync()
Disposable.TryBeginDispose()
Disposable.Dispose()
Disposable.Dispose(IEnumerable<IDisposable>)
Disposable.DisposeAsync(params IEnumerable<IAsyncDisposable>)
Disposable.Dispose<TDisposable>(params ReadOnlySpan<TDisposable>)
Disposable.IsDisposed
Disposable.IsDisposing
Disposable.IsDisposingOrDisposed
Disposable.DisposedTask
object.GetType()
object.MemberwiseClone()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.Buffers
Assembly: DotNext.IO.dll
Syntax
public class SequenceBuilder<T> : SparseBufferWriter<T>, IGrowableBuffer<T>, IBufferWriter<T>, IConsumer<ReadOnlySpan<T>>, ISupplier<ReadOnlyMemory<T>, CancellationToken, ValueTask>, IResettable, IEnumerable<ReadOnlyMemory<T>>, IEnumerable, IReadOnlySequenceSource<T>, IDisposable, ISupplier<ReadOnlySequence<T>>, IFunctional
Type Parameters
Name Description
T

The type of the elements in the memory.

Constructors

View Source

SequenceBuilder()

Initializes a new builder which uses Shared as a default allocator of buffers.

Declaration
public SequenceBuilder()
View Source

SequenceBuilder(MemoryPool<T>)

Initializes a new builder with automatically selected chunk size.

Declaration
public SequenceBuilder(MemoryPool<T> pool)
Parameters
Type Name Description
MemoryPool<T> pool

Memory pool used to allocate memory chunks.

View Source

SequenceBuilder(int, MemoryAllocator<T>?)

Initializes a new builder with the specified size of memory block.

Declaration
public SequenceBuilder(int chunkSize, MemoryAllocator<T>? allocator = null)
Parameters
Type Name Description
int chunkSize

The size of the memory block representing single segment within sequence.

MemoryAllocator<T> allocator

The allocator used to rent the segments.

Exceptions
Type Condition
ArgumentOutOfRangeException

chunkSize is less than or equal to zero.

Implements

IGrowableBuffer<T>
IBufferWriter<T>
IConsumer<T>
ISupplier<T1, T2, TResult>
IResettable
IEnumerable<T>
IEnumerable
IReadOnlySequenceSource<T>
IDisposable
ISupplier<TResult>
IFunctional

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, params ReadOnlySpan<T>)
BufferWriter.Write<T>(IBufferWriter<T>, in ReadOnlySequence<T>)
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾