pub struct BoxStorage;Trait Implementations§
Source§impl Default for BoxStorage
impl Default for BoxStorage
Source§fn default() -> BoxStorage
fn default() -> BoxStorage
Returns the “default value” for a type. Read more
Source§impl<T> Dropper<T, BoxStorage> for BoxDrop
impl<T> Dropper<T, BoxStorage> for BoxDrop
Source§impl<T> Storage<T> for BoxStorage
impl<T> Storage<T> for BoxStorage
Source§fn allocate_node(&mut self, node: Node<T, Self>) -> Self::Node
fn allocate_node(&mut self, node: Node<T, Self>) -> Self::Node
Allocates the given node.
Source§unsafe fn insert_node(&mut self, node: Node<T, Self>) -> Self::Node
unsafe fn insert_node(&mut self, node: Node<T, Self>) -> Self::Node
Inserts the given node into the storage, setting the children parent. Read more
Source§unsafe fn normalize(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn normalize( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Normalizes the given address. Read more
Source§unsafe fn leaf_address(&self, addr: Address<Self::Node>) -> Address<Self::Node>
unsafe fn leaf_address(&self, addr: Address<Self::Node>) -> Address<Self::Node>
Converts this arbitrary address into a leaf address. Read more
Source§unsafe fn previous_item_address(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn previous_item_address( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Get the address of the item located before this address. Read more
Source§unsafe fn previous_front_address(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn previous_front_address( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Returns the front address directly preceding the given address. Read more
Source§unsafe fn next_item_address(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn next_item_address( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Get the address of the item located after this address if any. Read more
Source§unsafe fn next_back_address(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn next_back_address( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Safety Read more
Source§unsafe fn next_item_or_back_address(
&self,
addr: Address<Self::Node>,
) -> Option<Address<Self::Node>>
unsafe fn next_item_or_back_address( &self, addr: Address<Self::Node>, ) -> Option<Address<Self::Node>>
Returns the item address or back address directly following the given
address. Read more
Source§unsafe fn address_in<Q: ?Sized>(
&self,
id: Self::Node,
cmp: impl Fn(&T, &Q) -> Ordering,
key: &Q,
) -> Result<Address<Self::Node>, Address<Self::Node>>
unsafe fn address_in<Q: ?Sized>( &self, id: Self::Node, cmp: impl Fn(&T, &Q) -> Ordering, key: &Q, ) -> Result<Address<Self::Node>, Address<Self::Node>>
Safety Read more
Source§unsafe fn insert_at(
&mut self,
root: Option<Self::Node>,
addr: Option<Address<Self::Node>>,
item: T,
) -> (Option<Self::Node>, Option<Address<Self::Node>>)
unsafe fn insert_at( &mut self, root: Option<Self::Node>, addr: Option<Address<Self::Node>>, item: T, ) -> (Option<Self::Node>, Option<Address<Self::Node>>)
Inserts the item at the given address. Read more
Source§unsafe fn insert_exactly_at(
&mut self,
root: Option<Self::Node>,
addr: Option<Address<Self::Node>>,
item: T,
opt_right_id: Option<Self::Node>,
) -> (Option<Self::Node>, Option<Address<Self::Node>>)
unsafe fn insert_exactly_at( &mut self, root: Option<Self::Node>, addr: Option<Address<Self::Node>>, item: T, opt_right_id: Option<Self::Node>, ) -> (Option<Self::Node>, Option<Address<Self::Node>>)
Inserts the given item exactly at the provided leaf address. Read more
Source§unsafe fn replace_at(&mut self, addr: Address<Self::Node>, item: T) -> T
unsafe fn replace_at(&mut self, addr: Address<Self::Node>, item: T) -> T
Replaces the item located at the given address. Read more
Auto Trait Implementations§
impl Freeze for BoxStorage
impl RefUnwindSafe for BoxStorage
impl Send for BoxStorage
impl Sync for BoxStorage
impl Unpin for BoxStorage
impl UnwindSafe for BoxStorage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more