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.
BytesTapeView
Binary bytes view over RawTapeView.
RawTapeView
A view into a continuous slice of a RawTape.
StringTape
UTF-8 string view over RawTape.
StringTapeIter
StringTapeView
UTF-8 string view over RawTapeView.

Enums§

StringTapeError
Errors that can occur when working with StringTape.

Traits§

OffsetType
Trait for offset types used in StringTape.

Type Aliases§

BytesTape32
BytesTape64
BytesTapeView32
BytesTapeView64
StringTape32
StringTape64
StringTapeView32
StringTapeView64