pub struct KvReader<'a, K> { /* private fields */ }
Expand description
A reader of obkv
databases.
Implementations§
source§impl<'a, K> KvReader<'a, K>
impl<'a, K> KvReader<'a, K>
sourcepub fn new(bytes: &[u8]) -> KvReader<'_, K>
pub fn new(bytes: &[u8]) -> KvReader<'_, K>
Construct a reader on top of a memory area.
use obkv::KvReaderU16;
let mut iter = KvReaderU16::new(&[]).iter();
assert_eq!(iter.next(), None);
sourcepub fn get(&self, requested_key: K) -> Option<&'a [u8]>where
K: Key + PartialOrd,
pub fn get(&self, requested_key: K) -> Option<&'a [u8]>where K: Key + PartialOrd,
Returns the value associated with the given key
or None
if the key is not present.
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 reader = KvReaderU16::new(&obkv);
assert_eq!(reader.get(0), Some(&b"hello"[..]));
assert_eq!(reader.get(1), Some(&b"blue"[..]));
assert_eq!(reader.get(10), None);
assert_eq!(reader.get(255), Some(&b"world"[..]));
sourcepub fn iter(&self) -> Fuse<KvIter<'a, K>>where
K: Key,
pub fn iter(&self) -> Fuse<KvIter<'a, K>>where K: Key,
Returns an iterator over all the keys in the key-value store.
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?
Trait Implementations§
source§impl<'a, K: Key> IntoIterator for KvReader<'a, K>
impl<'a, K: Key> IntoIterator for KvReader<'a, K>
source§impl<'a, K: PartialEq> PartialEq for KvReader<'a, K>
impl<'a, K: PartialEq> PartialEq for KvReader<'a, K>
impl<'a, K: Copy> Copy for KvReader<'a, K>
impl<'a, K: Eq> Eq for KvReader<'a, K>
impl<'a, K> StructuralEq for KvReader<'a, K>
impl<'a, K> StructuralPartialEq for KvReader<'a, K>
Auto Trait Implementations§
impl<'a, K> RefUnwindSafe for KvReader<'a, K>where K: RefUnwindSafe,
impl<'a, K> Send for KvReader<'a, K>where K: Send,
impl<'a, K> Sync for KvReader<'a, K>where K: Sync,
impl<'a, K> Unpin for KvReader<'a, K>where K: Unpin,
impl<'a, K> UnwindSafe for KvReader<'a, K>where K: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more