/// <summary> /// Start a new variable-length list slot /// /// This function should be called before beginning to append elements to the /// value builder /// </summary> /// <returns></returns> public Builder Append() { ValueOffsetsBufferBuilder.Append(ValueBuilder.Length); ValidityBufferBuilder.Append(true); return(this); }
public Builder Clear() { ValueOffsetsBufferBuilder.Clear(); ValueBuilder.Clear(); ValidityBufferBuilder.Clear(); return(this); }
public Builder AppendNull() { ValueOffsetsBufferBuilder.Append(ValueBuilder.Length); ValidityBufferBuilder.Append(false); NullCount++; return(this); }
public ListArray Build(MemoryAllocator allocator = default) { Append(); return(new ListArray(DataType, Length - 1, ValueOffsetsBufferBuilder.Build(allocator), ValueBuilder.Build(allocator), new ArrowBuffer(), 0, 0)); }
public ListArray Build(MemoryAllocator allocator = default) { Append(); var validityBuffer = NullCount > 0 ? ValidityBufferBuilder.Build(allocator).ValueBuffer : ArrowBuffer.Empty; return(new ListArray(DataType, Length - 1, ValueOffsetsBufferBuilder.Build(allocator), ValueBuilder.Build(allocator), validityBuffer, NullCount, 0)); }
public Builder Resize(int length) { ValueOffsetsBufferBuilder.Resize(length + 1); ValidityBufferBuilder.Resize(length + 1); return(this); }
public Builder Reserve(int capacity) { ValueOffsetsBufferBuilder.Reserve(capacity + 1); ValidityBufferBuilder.Reserve(capacity + 1); return(this); }