pub struct Db<K: Representable, V: Representable>(_, _);
Expand description
A database is a skip list of (page offset, key, value).
Trait Implementations
sourceimpl<K: Clone + Representable, V: Clone + Representable> Clone for Db<K, V>
impl<K: Clone + Representable, V: Clone + Representable> Clone for Db<K, V>
sourceimpl<K: Debug + Representable, V: Debug + Representable> Debug for Db<K, V>
impl<K: Debug + Representable, V: Debug + Representable> Debug for Db<K, V>
sourceimpl<K: Representable, V: Representable> Representable for Db<K, V>
impl<K: Representable, V: Representable> Representable for Db<K, V>
sourcefn onpage_size(&self) -> u16
fn onpage_size(&self) -> u16
How much space this value occupies on the page (not counting alignment padding).
sourceunsafe fn skip(p: *mut u8) -> *mut u8
unsafe fn skip(p: *mut u8) -> *mut u8
First pointer strictly after this value’s pointer. The default
implementation is basically
p.offset(self.onpage_size() as isize)
, but their might be more efficient implementations in
some cases. Read moresourceunsafe fn write_value(&self, p: *mut u8)
unsafe fn write_value(&self, p: *mut u8)
Write this value to a u8 pointer, guaranteed to be a multiple of
self.alignment()
.sourceunsafe fn read_value(p: *const u8) -> Self
unsafe fn read_value(p: *const u8) -> Self
Read value from an onpage pointer, guaranteed to be a multiple of
self.alignment()
.sourceunsafe fn cmp_value<T: LoadPage>(&self, _: &T, x: Db<K, V>) -> Ordering
unsafe fn cmp_value<T: LoadPage>(&self, _: &T, x: Db<K, V>) -> Ordering
Compare a value with an onpage value. The current transaction
is sometimes helpful, for instance when the page only stores a
pointer to another page. Read more
type PageOffsets = Once<u64>
type PageOffsets = Once<u64>
An iterator over the offsets to pages contained in this
value. Only values from this crate can generate non-empty
iterators, but combined values (like tuples) must chain the
iterators returned by method
page_offsets
. Read moresourcefn page_offsets(&self) -> Self::PageOffsets
fn page_offsets(&self) -> Self::PageOffsets
If this value is an offset to another page at offset
offset
,
return Some(offset)
. Return None
else. Read moreimpl<K: Copy + Representable, V: Copy + Representable> Copy for Db<K, V>
Auto Trait Implementations
impl<K, V> RefUnwindSafe for Db<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for Db<K, V>where
K: Send,
V: Send,
impl<K, V> Sync for Db<K, V>where
K: Sync,
V: Sync,
impl<K, V> Unpin for Db<K, V>where
K: Unpin,
V: Unpin,
impl<K, V> UnwindSafe for Db<K, V>where
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more