Class BinaryArray.BuilderBase<TArray, TBuilder>
public abstract class BinaryArray.BuilderBase<TArray, TBuilder> : IArrowArrayBuilder<byte, TArray, TBuilder>, IArrowArrayBuilder<TArray, TBuilder>, IArrowArrayBuilder<TArray>, IArrowArrayBuilder where TArray : IArrowArray where TBuilder : class, IArrowArrayBuilder<byte, TArray, TBuilder>
Type Parameters
TArrayTBuilder
- Inheritance
-
BinaryArray.BuilderBase<TArray, TBuilder>
- Implements
-
IArrowArrayBuilder<byte, TArray, TBuilder>IArrowArrayBuilder<TArray, TBuilder>IArrowArrayBuilder<TArray>
- Derived
- Inherited Members
Constructors
BuilderBase(IArrowType)
protected BuilderBase(IArrowType dataType)
Parameters
dataTypeIArrowType
Properties
DataType
protected IArrowType DataType { get; }
Property Value
Instance
protected TBuilder Instance { get; }
Property Value
- TBuilder
Length
Gets the length of the array built so far.
public int Length { get; }
Property Value
NullCount
protected int NullCount { get; }
Property Value
Offset
protected int Offset { get; set; }
Property Value
ValidityBuffer
protected ArrowBuffer.BitmapBuilder ValidityBuffer { get; }
Property Value
ValueBuffer
protected ArrowBuffer.Builder<byte> ValueBuffer { get; }
Property Value
ValueOffsets
protected ArrowBuffer.Builder<int> ValueOffsets { get; }
Property Value
Methods
AdvanceValueBuffer(int)
Commits bytes previously written into the span returned by GetValueBufferSpan(int).
protected void AdvanceValueBuffer(int count)
Parameters
countintThe number of bytes written to the span returned by the latest GetValueBufferSpan(int) call.
Append(byte)
Appends a value, consisting of a single byte, to the array.
public TBuilder Append(byte value)
Parameters
valuebyteByte value to append.
Returns
- TBuilder
Returns the builder (for fluent-style composition).
Append(IEnumerable<byte>)
Append a value, consisting of an enumerable collection of bytes, to the array.
public TBuilder Append(IEnumerable<byte> value)
Parameters
valueIEnumerable<byte>Enumerable collection of bytes to add.
Returns
- TBuilder
Returns the builder (for fluent-style composition).
Remarks
Note that this method appends a single value, which may consist of arbitrarily many bytes. If multiple values are to be added, use the AppendRange(IEnumerable<byte>) method instead.
Append(ReadOnlySpan<byte>)
Append a value, consisting of a span of bytes, to the array.
public TBuilder Append(ReadOnlySpan<byte> span)
Parameters
spanReadOnlySpan<byte>Span of bytes to add.
Returns
- TBuilder
Returns the builder (for fluent-style composition).
Remarks
Note that a single value is added, which consists of arbitrarily many bytes. If multiple values are to be added, use the AppendRange(IEnumerable<byte>) method.
AppendNull()
Append a single null value to the array.
public TBuilder AppendNull()
Returns
- TBuilder
Returns the builder (for fluent-style composition).
AppendRange(IEnumerable<byte[]>)
Append an enumerable collection of values to the array.
public TBuilder AppendRange(IEnumerable<byte[]> values)
Parameters
valuesIEnumerable<byte[]>Values to add.
Returns
- TBuilder
Returns the builder (for fluent-style composition).
AppendRange(IEnumerable<byte>)
Append an enumerable collection of single-byte values to the array.
public TBuilder AppendRange(IEnumerable<byte> values)
Parameters
valuesIEnumerable<byte>Single-byte values to add.
Returns
- TBuilder
Returns the builder (for fluent-style composition).
Remarks
Note that this method appends multiple values, each of which is a single byte. If a single value is to be added, use the Append(IEnumerable<byte>) method instead.
Build(ArrayData)
protected abstract TArray Build(ArrayData data)
Parameters
dataArrayData
Returns
- TArray
Build(MemoryAllocator)
Build an Arrow array from the appended contents so far.
public TArray Build(MemoryAllocator allocator = null)
Parameters
allocatorMemoryAllocatorOptional memory allocator.
Returns
- TArray
Returns an array of type
TArray.
Clear()
Clear all contents appended so far.
public TBuilder Clear()
Returns
- TBuilder
Returns the builder (for fluent-style composition).
GetValueBufferSpan(int)
Returns writable value-buffer space without changing the committed buffer length.
protected Span<byte> GetValueBufferSpan(int sizeHint)
Parameters
sizeHintintThe minimum number of writable bytes required.
Returns
Reserve(int)
public TBuilder Reserve(int capacity)
Parameters
capacityint
Returns
- TBuilder
Resize(int)
public TBuilder Resize(int length)
Parameters
lengthint
Returns
- TBuilder
Set(int, byte)
public TBuilder Set(int index, byte value)
Parameters
Returns
- TBuilder
Swap(int, int)
public TBuilder Swap(int i, int j)
Parameters
Returns
- TBuilder