Crate stringtape

Source
Expand description

§StringTape

Memory-efficient string and bytes storage compatible with Apache Arrow.

use stringtape::{StringTape32, StringTapeError};

let mut tape = StringTape32::new();
tape.push("hello")?;
tape.push("world")?;

assert_eq!(tape.len(), 2);
assert_eq!(&tape[0], "hello");

// Iterate over strings
for s in &tape {
    println!("{}", s);
}

It also supports binary data via BytesTape:

use stringtape::{BytesTape32, StringTapeError};

let mut tape = BytesTape32::new();
tape.push(&[0xde, 0xad, 0xbe, 0xef])?;
tape.push(b"bytes")?;

assert_eq!(&tape[1], b"bytes" as &[u8]);

Structs§

BytesTape
Binary bytes view over RawTape.
StringTape
UTF-8 string view over RawTape.
StringTapeIter

Enums§

StringTapeError
Errors that can occur when working with StringTape.

Traits§

OffsetType
Trait for offset types used in StringTape.

Type Aliases§

BytesTape32
BytesTape64
StringTape32
StringTape64