Expand description
§StringTape
Memory-efficient string and bytes storage compatible with Apache Arrow.
§CharsTape - Sequential String Storage
use stringtape::{CharsTapeI32, StringTapeError};
let mut tape = CharsTapeI32::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);
}
§CharsCows - Compressed Arbitrary-Order Slices
For extremely large datasets, use CharsCows
with configurable offset/length types:
use stringtape::{CharsCowsU32U16, StringTapeError};
use std::borrow::Cow;
let data = "hello world foo bar";
// 6 bytes per entry (u32 offset + u16 length) vs 24+ bytes for Vec<String>
let cows = CharsCowsU32U16::from_iter_and_data(
data.split_whitespace(),
Cow::Borrowed(data.as_bytes())
)?;
assert_eq!(&cows[0], "hello");
assert_eq!(&cows[3], "bar");
§BytesTape - Binary Data
use stringtape::{BytesTapeI32, StringTapeError};
let mut tape = BytesTapeI32::new();
tape.push(&[0xde, 0xad, 0xbe, 0xef])?;
tape.push(b"bytes")?;
assert_eq!(&tape[1], b"bytes" as &[u8]);
Modules§
Structs§
- Bytes
Cows - A memory-efficient collection of byte slices with configurable offset and length types.
- Bytes
Cows Iter - Bytes
Tape - Binary bytes view over
RawTape
. - Bytes
Tape Iter - Bytes
Tape View - Binary bytes view over
RawTapeView
. - Chars
Cows - A memory-efficient collection of string slices with configurable offset and length types.
- Chars
Cows Auto Iter - Iterator over CharsCowsAuto string cows.
- Chars
Cows Iter - Chars
Tape - UTF-8 string view over
RawTape
. - Chars
Tape Iter - Chars
Tape View - UTF-8 string view over
RawTapeView
. - RawParts
- Named raw parts returned by
as_raw_parts
methods. - RawTape
View - Zero-copy read-only view into a RawTape slice.
Enums§
- Bytes
Cows Auto - Automatically selects the most memory-efficient BytesCows type based on data size.
- Bytes
Tape Auto - Automatically selects the most memory-efficient BytesTape offset type.
- Chars
Cows Auto - Automatically selects the most memory-efficient CharsCows type based on data size.
- Chars
Tape Auto - Automatically selects the most memory-efficient CharsTape offset type.
- String
Tape Error - Errors that can occur when working with tape classes.
Traits§
- Length
Type - Trait for length types used in slice collections.
- Offset
Type - Trait for offset types used in CharsTape.
Type Aliases§
- Bytes
Cows U16U8 - Bytes
Cows U32U8 - Bytes
Cows U32U16 - Bytes
Cows U64U32 - Bytes
Tape I32 - Bytes
Tape I64 - Bytes
Tape U16 - Bytes
Tape U32 - Bytes
Tape U64 - Bytes
Tape View I32 - Bytes
Tape View I64 - Bytes
Tape View U16 - Bytes
Tape View U32 - Bytes
Tape View U64 - Chars
Cows U16U8 - Chars
Cows U32U8 - Chars
Cows U32U16 - Chars
Cows U64U32 - Chars
Tape I32 - Chars
Tape I64 - Chars
Tape U32 - Chars
Tape U64 - Chars
Tape View I32 - Chars
Tape View I64 - Chars
Tape View U32 - Chars
Tape View U64