value: Rc::new(Vec::new()),
}
}
- pub fn from_key_value<K: AsRef<[u8]>, V: AsRef<[u8]>>(k: K, v: V) -> Entry {
+ pub fn from_key_value(k: impl AsRef<[u8]>, v: impl AsRef<[u8]>) -> Entry {
let mut key = Vec::<u8>::with_capacity(k.as_ref().len());
let mut value = Vec::<u8>::with_capacity(v.as_ref().len());
use std::rc::Rc;
pub trait Entries: Sized {
- fn seek<K: AsRef<[u8]>>(&mut self, key: K);
+ fn seek(&mut self, key: impl AsRef<[u8]>);
fn iter_next(&mut self) -> Option<Entry>;
}
impl<T: Entries> Entries for Seekable<T> {
- fn seek<K: AsRef<[u8]>>(&mut self, key: K) {
+ fn seek(&mut self, key: impl AsRef<[u8]>) {
self.0.seek(key)
}
}
impl<I: Entries> Entries for IterCell<I> {
- fn seek<T: AsRef<[u8]>>(&mut self, key: T) {
+ fn seek(&mut self, key: impl AsRef<[u8]>) {
self.ic.borrow_mut().seek(key);
}
}
impl<I: Entries, O: Iterator<Item = Entry>> Entries for WrapIter<I, O> {
- fn seek<T: AsRef<[u8]>>(&mut self, key: T) {
+ fn seek(&mut self, key: impl AsRef<[u8]>) {
self.inner.seek(key)
}
I: Entries,
F: FnMut(&Entry, &mut Vec<u8>) -> FilterAction,
{
- fn seek<T: AsRef<[u8]>>(&mut self, key: T) {
+ fn seek(&mut self, key: impl AsRef<[u8]>) {
self.inner.seek(key.as_ref());
}
}
}
- fn seek<T: AsRef<[u8]>>(&mut self, kr: T) {
+ fn seek(&mut self, kr: impl AsRef<[u8]>) {
self.0 = kr.as_ref()[0];
}
}