Struct sanakirja::btree::del::Concat

source ·
pub struct Concat<'a, K, V, P>
where P: BTreePage<K, V>, K: ?Sized, V: ?Sized,
{ pub modified: ModifiedPage<'a, K, V, P>, pub mid: (&'a K, &'a V), pub other: CowPage, pub mod_is_left: bool, pub other_is_mutable: bool, }
Expand description

Represents the concatenation of a modified page and one of its sibling (left or right).

Fields§

§modified: ModifiedPage<'a, K, V, P>

Modified page.

§mid: (&'a K, &'a V)

Middle element.

§other: CowPage

Sibling of the modified page.

§mod_is_left: bool

Is the modified field on the left or on the right of the concatenation?

§other_is_mutable: bool

Is the other page owned by this tree? If not, it means other is shared with another tree, and hence we need to increase the reference count of entries coming from other.

Trait Implementations§

source§

impl<'a, K, V, P> Debug for Concat<'a, K, V, P>
where K: Debug + ?Sized, V: Debug + ?Sized, P: Debug + BTreePage<K, V>,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, K: ?Sized, V: ?Sized, P> Freeze for Concat<'a, K, V, P>
where <P as BTreePage<K, V>>::Cursor: Freeze,

§

impl<'a, K: ?Sized, V: ?Sized, P> RefUnwindSafe for Concat<'a, K, V, P>

§

impl<'a, K: ?Sized, V: ?Sized, P> Send for Concat<'a, K, V, P>
where K: Sync, V: Sync, <P as BTreePage<K, V>>::Cursor: Send,

§

impl<'a, K: ?Sized, V: ?Sized, P> Sync for Concat<'a, K, V, P>
where K: Sync, V: Sync, <P as BTreePage<K, V>>::Cursor: Sync,

§

impl<'a, K: ?Sized, V: ?Sized, P> Unpin for Concat<'a, K, V, P>
where <P as BTreePage<K, V>>::Cursor: Unpin,

§

impl<'a, K: ?Sized, V: ?Sized, P> UnwindSafe for Concat<'a, K, V, P>
where K: RefUnwindSafe, V: RefUnwindSafe, <P as BTreePage<K, V>>::Cursor: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.