[][src]Struct obkv::KvReader

pub struct KvReader<'a> { /* fields omitted */ }

A reader of obkv databases.

Implementations

impl<'a> KvReader<'a>[src]

pub fn new(bytes: &[u8]) -> KvReader<'_>[src]

Construct a reader on top of a memory area.

use obkv::KvReader;

let mut iter = KvReader::new(&[]).iter();
assert_eq!(iter.next(), None);

pub fn get(&self, requested_key: u8) -> Option<&'a [u8]>[src]

Returns the value associated with the given key or None if the key is not present.

use obkv::{KvWriter, KvReader};

let mut writer = KvWriter::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 = KvReader::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"[..]));

pub fn iter(&self) -> Fuse<KvIter<'a>>[src]

Returns an iterator over all the keys in the key-value store.

use obkv::{KvWriter, KvReader};

let mut writer = KvWriter::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 = KvReader::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

impl<'a> Clone for KvReader<'a>[src]

impl<'a> Copy for KvReader<'a>[src]

impl<'a> Debug for KvReader<'a>[src]

impl<'a> Default for KvReader<'a>[src]

impl<'a> Eq for KvReader<'a>[src]

impl<'a> Hash for KvReader<'a>[src]

impl<'a> PartialEq<KvReader<'a>> for KvReader<'a>[src]

impl<'a> StructuralEq for KvReader<'a>[src]

impl<'a> StructuralPartialEq for KvReader<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for KvReader<'a>

impl<'a> Send for KvReader<'a>

impl<'a> Sync for KvReader<'a>

impl<'a> Unpin for KvReader<'a>

impl<'a> UnwindSafe for KvReader<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.