arrow::array

Type Alias GenericStringBuilder

pub type GenericStringBuilder<O> = GenericByteBuilder<GenericStringType<O>>;
Expand description

Array builder for GenericStringArray

Values can be appended using GenericByteBuilder::append_value, and nulls with GenericByteBuilder::append_null.

This builder also implements std::fmt::Write with any written data included in the next appended value. This allows using std::fmt::Display with standard Rust idioms like write! and writeln! to write data directly to the builder without intermediate allocations.

§Example writing strings with append_value

let mut builder = GenericStringBuilder::<i32>::new();

// Write one string value
builder.append_value("foobarbaz");

// Write a second string
builder.append_value("v2");

let array = builder.finish();
assert_eq!(array.value(0), "foobarbaz");
assert_eq!(array.value(1), "v2");

§Example incrementally writing strings with std::fmt::Write

let mut builder = GenericStringBuilder::<i32>::new();

// Write data in multiple `write!` calls
write!(builder, "foo").unwrap();
write!(builder, "bar").unwrap();
// The next call to append_value finishes the current string
// including all previously written strings.
builder.append_value("baz");

// Write second value with a single write call
write!(builder, "v2").unwrap();
// finish the value by calling append_value with an empty string
builder.append_value("");

let array = builder.finish();
assert_eq!(array.value(0), "foobarbaz");
assert_eq!(array.value(1), "v2");

Aliased Type§

struct GenericStringBuilder<O> { /* private fields */ }