[][src]Struct mycelium_experimental::base::Entry

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

An entry in a skip list, protected by a Guard.

The lifetimes of the key and value are the same as that of the Guard used when creating the Entry ('g). This lifetime is also constrained to not outlive the SkipList.

Methods

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

pub fn is_removed(&self) -> bool[src]

Returns true if the entry is removed from the skip list.

pub fn key(&self) -> [u8; 16][src]

Returns a reference to the key.

pub fn value(&self) -> &Vec<u8>[src]

Returns a reference to the value.

pub fn skiplist(&self) -> &'a SkipList[src]

Returns a reference to the parent SkipList

pub fn pin(&self) -> Option<RefEntry<'a>>[src]

Attempts to pin the entry with a reference count, ensuring that it remains accessible even after the Guard is dropped.

This method may return None if the reference count is already 0 and the node has been queued for deletion.

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

pub fn remove(&self) -> bool[src]

Removes the entry from the skip list.

Returns true if this call removed the entry and false if it was already removed.

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

pub fn move_next(&mut self) -> bool[src]

Moves to the next entry in the skip list.

pub fn next(&self) -> Option<Entry<'a>>[src]

Returns the next entry in the skip list.

pub fn move_prev(&mut self) -> bool[src]

Moves to the previous entry in the skip list.

pub fn prev(&self) -> Option<Entry<'a>>[src]

Returns the previous entry in the skip list.

Trait Implementations

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

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

Auto Trait Implementations

impl<'a> !Send for Entry<'a>

impl<'a> !Sync for Entry<'a>

impl<'a> Unpin for Entry<'a>

impl<'a> !UnwindSafe for Entry<'a>

impl<'a> !RefUnwindSafe for Entry<'a>

Blanket Implementations

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

impl<T> From<T> for 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.

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

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

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