Trait toboggan_kv::Tree[][src]

pub trait Tree {
    type OutValue: AsRef<[u8]> + Borrow<[u8]> + PartialEq<Vec<u8>> + Deref<Target = [u8]> + Debug;
    type Iter: Iterator<Item = Result<(Self::OutValue, Self::OutValue), Error>>;
    fn insert<K: AsRef<[u8]> + Into<Vec<u8>>, V: AsRef<[u8]>>(
        &self,
        key: K,
        value: V
    ) -> Result<(), Error>;
fn set_merge_operator(&self, merge_operator: impl MergeOperator + 'static);
fn merge<K: AsRef<[u8]>, V: AsRef<[u8]>>(
        &self,
        key: K,
        value: V
    ) -> Result<(), Error>;
fn get<K: AsRef<[u8]>>(
        &self,
        key: K
    ) -> Result<Option<Self::OutValue>, Error>;
fn iter(&self) -> Self::Iter;
fn flush(&self) -> Result<(), Error>;
fn clear(&self) -> Result<(), Error>; }

Associated Types

type OutValue: AsRef<[u8]> + Borrow<[u8]> + PartialEq<Vec<u8>> + Deref<Target = [u8]> + Debug[src]

type Iter: Iterator<Item = Result<(Self::OutValue, Self::OutValue), Error>>[src]

Loading content...

Required methods

fn insert<K: AsRef<[u8]> + Into<Vec<u8>>, V: AsRef<[u8]>>(
    &self,
    key: K,
    value: V
) -> Result<(), Error>
[src]

fn set_merge_operator(&self, merge_operator: impl MergeOperator + 'static)[src]

fn merge<K: AsRef<[u8]>, V: AsRef<[u8]>>(
    &self,
    key: K,
    value: V
) -> Result<(), Error>
[src]

fn get<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<Self::OutValue>, Error>[src]

fn iter(&self) -> Self::Iter[src]

fn flush(&self) -> Result<(), Error>[src]

fn clear(&self) -> Result<(), Error>[src]

Loading content...

Implementors

impl Tree for MemoryStoreTree[src]

type OutValue = Vec<u8>

type Iter = StupidIterator<(Self::OutValue, Self::OutValue)>

impl Tree for SledStoreTree[src]

type OutValue = IVec

type Iter = SledIterWrapper

Loading content...