Crate obkv[−][src]
Expand description
obkv
stands for optimized-bytes key and a value store.
The main purpose of this library is to be able to store key value entries where the key can be represented by an optimized amount of bytes, this allows a lot of optimizations.
Example: Creating an obkv
and iterating over the entries
use obkv::{KvWriterU16, KvReaderU16}; let mut writer = KvWriterU16::memory(); writer.insert(0, b"hello").unwrap(); writer.insert(1, b"blue").unwrap(); writer.insert(255, b"world").unwrap(); let obkv = writer.into_inner().unwrap(); let mut iter = KvReaderU16::new(&obkv).iter(); assert_eq!(iter.next(), Some((0, &b"hello"[..]))); assert_eq!(iter.next(), Some((1, &b"blue"[..]))); assert_eq!(iter.next(), Some((255, &b"world"[..]))); assert_eq!(iter.next(), None); assert_eq!(iter.next(), None); // is it fused?
Structs
An iterator over a obkv
database.
A reader of obkv
databases.
An obkv
database writer.
Traits
A trait that represents a key, this key will be encoded to disk.
Type Definitions
A reader that can read obkv
s with u8
keys.
A reader that can read obkv
s with u16
keys.
A reader that can read obkv
s with u32
keys.
A reader that can read obkv
s with u64
keys.
An obkv
writer that uses u8
keys.
An obkv
writer that uses u16
keys.
An obkv
writer that uses u32
keys.
An obkv
writer that uses u64
keys.