pub struct BTreeCursor { /* private fields */ }Expand description
A forward-or-reverse ordered cursor over a BTree. No lifetime parameter
(the OQ-1 result): it OWNS Rc<BNode> clones along the spine + the root
snapshot, so it borrows nothing externally; the only borrow is the one
next_row lends out of self per call. Holding the _snapshot root Arc
keeps the entire pre-write tree alive and immutable for the cursor’s life —
a concurrent BTree::add/delete make_muts a fresh path (because the
snapshot pins strong_count > 1) and never touches these nodes. That is what
makes reentrant fetch-during-push safe (§6, foundations §6.3).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BTreeCursor
impl RefUnwindSafe for BTreeCursor
impl !Send for BTreeCursor
impl !Sync for BTreeCursor
impl Unpin for BTreeCursor
impl UnsafeUnpin for BTreeCursor
impl UnwindSafe for BTreeCursor
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