Interface IGrowableBuffer<T>
Represents common interface for growable buffer writers.
Inherited Members
Namespace: DotNext.Buffers
Assembly: DotNext.dll
Syntax
public interface IGrowableBuffer<T> : IReadOnlySpanConsumer<T>, ISupplier<ReadOnlyMemory<T>, CancellationToken, ValueTask>, IFunctional<Func<ReadOnlyMemory<T>, CancellationToken, ValueTask>>, IDisposable, IResettable
Type Parameters
Name | Description |
---|---|
T | The type of the elements in the buffer. |
Remarks
This interface is intended to describe the shape of all buffer writer types in .NEXT family of libraries. It is not recommended to have custom implementation of this interface in your code.
Properties
| Edit this page View SourceCapacity
Gets the maximum number of elements that can hold this buffer.
Declaration
long? Capacity { get; }
Property Value
Type | Description |
---|---|
long? | The maximum number of elements; or null if this buffer has no limits. |
WrittenCount
Gets the number of written elements.
Declaration
long WrittenCount { get; }
Property Value
Type | Description |
---|---|
long |
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The writer has been disposed. |
Methods
| Edit this page View SourceClear()
Clears the contents of the writer.
Declaration
void Clear()
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The writer has been disposed. |
CopyTo(Span<T>)
Copies the contents of this writer to the specified memory block.
Declaration
int CopyTo(Span<T> output)
Parameters
Type | Name | Description |
---|---|---|
Span<T> | output | The memory block to be modified. |
Returns
Type | Description |
---|---|
int | The actual number of copied elements. |
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The builder has been disposed. |
CopyToAsync<TConsumer>(TConsumer, CancellationToken)
Passes the contents of this writer to the callback asynchronously.
Declaration
ValueTask CopyToAsync<TConsumer>(TConsumer consumer, CancellationToken token) where TConsumer : notnull, ISupplier<ReadOnlyMemory<T>, CancellationToken, ValueTask>
Parameters
Type | Name | Description |
---|---|---|
TConsumer | consumer | The callback used to accept the memory representing the contents of this builder. |
CancellationToken | token | The token that can be used to cancel the operation. |
Returns
Type | Description |
---|---|
ValueTask | The task representing asynchronous execution of this method. |
Type Parameters
Name | Description |
---|---|
TConsumer | The type of the consumer. |
Remarks
The callback may be called multiple times.
CopyTo<TConsumer>(TConsumer)
Passes the contents of this writer to the callback.
Declaration
void CopyTo<TConsumer>(TConsumer consumer) where TConsumer : notnull, IReadOnlySpanConsumer<T>
Parameters
Type | Name | Description |
---|---|---|
TConsumer | consumer | The callback used to accept the memory representing the contents of this builder. |
Type Parameters
Name | Description |
---|---|
TConsumer | The type of the object that represents the consumer. |
Remarks
The callback may be called multiple times.
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The writer has been disposed. |
TryGetWrittenContent(out ReadOnlyMemory<T>)
Attempts to get written content as contiguous block of memory.
Declaration
bool TryGetWrittenContent(out ReadOnlyMemory<T> block)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlyMemory<T> | block | The block representing written content. |
Returns
Type | Description |
---|---|
bool | true if the written content can be represented as contiguous block of memory; otherwise, false. |
Write(ReadOnlySpan<T>)
Writes the memory block.
Declaration
void Write(ReadOnlySpan<T> input)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlySpan<T> | input | The memory block to be written. |
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The writer has been disposed. |
Write(T)
Writes single element to this buffer.
Declaration
void Write(T value)
Parameters
Type | Name | Description |
---|---|---|
T | value | The value to be written. |
Exceptions
Type | Condition |
---|---|
ObjectDisposedException | The writer has been disposed. |