SYMBOL INDEX (448 symbols across 9 files) FILE: src/linked_list.rs type LinkedList (line 27) | pub struct LinkedList<'brand, T> { function new (line 33) | pub const fn new() -> Self { Self { head_tail: None } } function iter (line 36) | pub fn iter<'a>(&'a self, token: &'a GhostToken<'brand>) -> Iter<'a, 'br... function cursor_front (line 41) | pub fn cursor_front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curs... function cursor_back (line 46) | pub fn cursor_back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curso... function is_empty (line 51) | pub fn is_empty(&self) -> bool { self.head_tail.is_none() } function len (line 60) | pub fn len(&self, token: &GhostToken<'brand>) -> usize { self.iter(token... function clear (line 67) | pub fn clear(&mut self, token: &mut GhostToken<'brand>) { function front (line 72) | pub fn front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a ... function front_mut (line 79) | pub fn front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) ->... function back (line 86) | pub fn back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a T> { function back_mut (line 93) | pub fn back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) -> ... function push_front (line 100) | pub fn push_front(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_front (line 117) | pub fn pop_front(&mut self, token: &mut GhostToken<'brand>) -> Option { function push_back (line 135) | pub fn push_back(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_back (line 152) | pub fn pop_back(&mut self, token: &mut GhostToken<'brand>) -> Option { function new_halves (line 169) | fn new_halves(value: T) -> (HalfNodePtr<'brand, T>, HalfNodePtr<'brand, ... function into_inner (line 176) | fn into_inner(left: HalfNodePtr<'brand, T>, right: HalfNodePtr<'brand, T... function append (line 200) | pub fn append(&mut self, other: &mut Self, token: &mut GhostToken<'brand... function prepend (line 241) | pub fn prepend(&mut self, other: &mut Self, token: &mut GhostToken<'bran... function cursor_front_mut (line 247) | pub fn cursor_front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bra... function cursor_back_mut (line 252) | pub fn cursor_back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bran... function split_off (line 265) | pub fn split_off(&mut self, at: usize, token: &mut GhostToken<'brand>) -... function remove (line 292) | pub fn remove(&mut self, at: usize, token: &mut GhostToken<'brand>) -> O... method default (line 318) | fn default() -> Self { Self::new() } type Node (line 325) | struct Node<'brand, T> { type GhostNode (line 331) | type GhostNode<'brand, T> = GhostCell<'brand, Node<'brand, T>>; type HalfNodePtr (line 332) | type HalfNodePtr<'brand, T> = StaticRc, 1, 2>; type FullNodePtr (line 333) | type FullNodePtr<'brand, T> = StaticRc, 2, 2>; function with_list (line 342) | pub(crate) fn with_list(initial: Vec, fun: F) -> R FILE: src/linked_list/cursor.rs type Cursor (line 12) | pub struct Cursor<'a, 'brand, T> { function new_front (line 19) | pub fn new_front(token: &'a GhostToken<'brand>, list: &'a LinkedList<'br... function new_back (line 26) | pub fn new_back(token: &'a GhostToken<'brand>, list: &'a LinkedList<'bra... function move_next (line 36) | pub fn move_next(&mut self) -> Result<(), ()> { function move_prev (line 49) | pub fn move_prev(&mut self) -> Result<(), ()> { function current (line 61) | pub fn current(&self) -> Option<&'a T> { self.node.map(|node| &node.borr... function peek_next (line 64) | pub fn peek_next(&self) -> Option<&'a T> { self.peek_next_node().map(|no... function peek_prev (line 67) | pub fn peek_prev(&self) -> Option<&'a T> { self.peek_prev_node().map(|no... function peek_next_node (line 70) | fn peek_next_node(&self) -> Option<&'a GhostNode<'brand, T>> { function peek_prev_node (line 75) | fn peek_prev_node(&self) -> Option<&'a GhostNode<'brand, T>> { type CursorMut (line 82) | pub struct CursorMut<'a, 'brand, T> { function new_front (line 89) | pub fn new_front(token: &'a mut GhostToken<'brand>, list: &'a LinkedList... function new_back (line 97) | pub fn new_back(token: &'a mut GhostToken<'brand>, list: &'a LinkedList<... function into_cursor (line 105) | pub fn into_cursor(self) -> Cursor<'a, 'brand, T> { function move_next (line 115) | pub fn move_next(&mut self) -> Result<(), ()> { function move_prev (line 123) | pub fn move_prev(&mut self) -> Result<(), ()> { function current (line 130) | pub fn current(&mut self) -> Option<&mut T> { self.inner.borrow_mut().ma... function peek_next (line 138) | pub fn peek_next(&self) -> Option<&T> { function peek_prev (line 150) | pub fn peek_prev(&self) -> Option<&T> { function peek_next_node (line 157) | fn peek_next_node(&self) -> Option<&GhostNode<'brand, T>> { function peek_prev_node (line 162) | fn peek_prev_node(&self) -> Option<&GhostNode<'brand, T>> { function cursor_assert_none (line 176) | fn cursor_assert_none<'a, 'brand, T>(cursor: &Cursor<'a, 'brand, T>) function cursor_brush_front_empty (line 186) | fn cursor_brush_front_empty() { function cursor_brush_back_empty (line 201) | fn cursor_brush_back_empty() { function cursor_brush_move_next (line 216) | fn cursor_brush_move_next() { function cursor_brush_move_prev (line 259) | fn cursor_brush_move_prev() { function cursor_mut_assert_none (line 312) | fn cursor_mut_assert_none<'a, 'brand, T>(cursor: &mut CursorMut<'a, 'bra... function cursor_mut_brush_front_empty (line 322) | fn cursor_mut_brush_front_empty() { function cursor_mut_brush_back_empty (line 337) | fn cursor_mut_brush_back_empty() { function cursor_mut_brush_move_next (line 352) | fn cursor_mut_brush_move_next() { function cursor_mut_brush_move_prev (line 395) | fn cursor_mut_brush_move_prev() { FILE: src/linked_list/iter.rs type Iter (line 6) | pub struct Iter<'a, 'brand, T> { function new (line 13) | pub fn new(token: &'a GhostToken<'brand>, list: &'a LinkedList<'brand, T... type Item (line 23) | type Item = &'a T; method next (line 25) | fn next(&mut self) -> Option { method next_back (line 44) | fn next_back(&mut self) -> Option { function empty (line 69) | fn empty() { function forward (line 79) | fn forward() { function backward (line 94) | fn backward() { function alternate (line 109) | fn alternate() { function alternate_other (line 125) | fn alternate_other() { FILE: src/tripod_list.rs type TripodList (line 26) | pub struct TripodList<'brand, T> { function new (line 33) | pub fn new() -> Self { Self::default() } function append (line 44) | pub fn append(&mut self, other: &mut Self, token: &mut GhostToken<'brand... function prepend (line 80) | pub fn prepend(&mut self, other: &mut Self, token: &mut GhostToken<'bran... function iter (line 86) | pub fn iter<'a>(&'a self, token: &'a GhostToken<'brand>) -> Iter<'a, 'br... function cursor_front (line 91) | pub fn cursor_front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curs... function cursor_front_mut (line 96) | pub fn cursor_front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bra... function cursor_back (line 101) | pub fn cursor_back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curso... function cursor_back_mut (line 106) | pub fn cursor_back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bran... function is_empty (line 111) | pub fn is_empty(&self) -> bool { self.length == 0 } function len (line 114) | pub fn len(&self) -> usize { self.length } function clear (line 121) | pub fn clear(&mut self, token: &mut GhostToken<'brand>) { function front (line 126) | pub fn front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a ... function front_mut (line 131) | pub fn front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) ->... function back (line 136) | pub fn back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a T> { function back_mut (line 141) | pub fn back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) -> ... function push_front (line 146) | pub fn push_front(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_front (line 163) | pub fn pop_front(&mut self, token: &mut GhostToken<'brand>) -> Option { function push_back (line 186) | pub fn push_back(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_back (line 203) | pub fn pop_back(&mut self, token: &mut GhostToken<'brand>) -> Option { function split_off (line 234) | pub fn split_off(&mut self, at: usize, token: &mut GhostToken<'brand>) -... function remove (line 258) | pub fn remove(&mut self, at: usize, token: &mut GhostToken<'brand>) -> T { function front_node (line 272) | fn front_node(&self) -> Option<&GhostNode<'brand, T>> { self.head_tail.a... function back_node (line 275) | fn back_node(&self) -> Option<&GhostNode<'brand, T>> { self.head_tail.as... function new_thirds (line 278) | fn new_thirds(value: T, token: &GhostToken<'brand>) -> (ThirdNodePtr<'br... function into_inner (line 289) | fn into_inner(thirds: ThirdTuple<'brand, T>) -> T { method default (line 305) | fn default() -> Self { Self { length: 0, head_tail: None, } } type Node (line 312) | struct Node<'brand, T> { function deploy (line 321) | fn deploy(&self) -> ThirdNodePtr<'brand, T> { self.tripod.take().expect(... function retract (line 324) | fn retract(&self, tripod: ThirdNodePtr<'brand, T>) { function retract (line 330) | fn retract<'brand, T>(tripod: ThirdNodePtr<'brand, T>, token: &mut Ghost... type GhostNode (line 338) | type GhostNode<'brand, T> = GhostCell<'brand, Node<'brand, T>>; type ThirdNodePtr (line 339) | type ThirdNodePtr<'brand, T> = StaticRc, 1, 3>; type TwoThirdsNodePtr (line 340) | type TwoThirdsNodePtr<'brand, T> = StaticRc, 2, 3>; type FullNodePtr (line 341) | type FullNodePtr<'brand, T> = StaticRc, 3, 3>; type ThirdTuple (line 342) | type ThirdTuple<'brand, T> = (ThirdNodePtr<'brand, T>, ThirdNodePtr<'bra... function assert_list_mut (line 355) | fn assert_list_mut<'brand>(expected: &[&str], token: &mut GhostToken<'br... function assert_list (line 366) | pub(crate) fn assert_list<'brand>(expected: &[&str], token: &mut GhostTo... function assert_list_append (line 371) | fn assert_list_append(list: Vec, append: Vec, expected: ... function list_append (line 381) | fn list_append() { function assert_list_split_off (line 399) | fn assert_list_split_off(list: Vec, at: usize, expected_list: &[... function list_split_off (line 409) | fn list_split_off() { function list_split_off_out_of_bounds (line 418) | fn list_split_off_out_of_bounds() { function assert_list_remove (line 425) | fn assert_list_remove(list: Vec, at: usize, expected_list: &[&st... function list_remove (line 435) | fn list_remove() { function list_remove_out_of_bounds (line 444) | fn list_remove_out_of_bounds() { function create (line 450) | pub(crate) fn create(range: Range) -> Vec { function collect (line 454) | pub(crate) fn collect<'a>(iter: Iter<'a, '_, String>) -> Vec<&'a str> { function with_list (line 458) | pub(crate) fn with_list(initial: Vec, fun: F) -> R function with_list_duo (line 477) | pub(crate) fn with_list_duo(first: Vec, second: Vec, fun:... FILE: src/tripod_list/cursor.rs type Cursor (line 8) | pub struct Cursor<'a, 'brand, T> { function new_front (line 17) | pub fn new_front(token: &'a GhostToken<'brand>, list: &'a TripodList<'br... function new_back (line 24) | pub fn new_back(token: &'a GhostToken<'brand>, list: &'a TripodList<'bra... function before_after (line 37) | pub fn before_after(&self) -> (Iter<'a, 'brand, T>, Iter<'a, 'brand, T>) { function index (line 56) | pub fn index(&self) -> Option { self.node.map(|_| self.index) } function move_next (line 62) | pub fn move_next(&mut self) { function move_prev (line 76) | pub fn move_prev(&mut self) { function current (line 87) | pub fn current(&self) -> Option<&'a T> { self.node.map(|node| &node.borr... function peek_next (line 90) | pub fn peek_next(&self) -> Option<&'a T> { self.peek_next_node().map(|no... function peek_prev (line 93) | pub fn peek_prev(&self) -> Option<&'a T> { self.peek_prev_node().map(|no... function peek_next_node (line 96) | fn peek_next_node(&self) -> Option<&'a GhostNode<'brand, T>> { function peek_prev_node (line 105) | fn peek_prev_node(&self) -> Option<&'a GhostNode<'brand, T>> { method clone (line 115) | fn clone(&self) -> Self { *self } type CursorMut (line 134) | pub struct CursorMut<'a, 'brand, T> { function new_front (line 143) | pub fn new_front(token: &'a mut GhostToken<'brand>, list: &'a mut Tripod... function new_back (line 150) | pub fn new_back(token: &'a mut GhostToken<'brand>, list: &'a mut TripodL... function as_cursor (line 158) | pub fn as_cursor(&self) -> Cursor<'_, 'brand, T> { function index (line 170) | pub fn index(&self) -> Option { self.node.as_ref().map(|_| self.i... function move_next (line 176) | pub fn move_next(&mut self) { function move_prev (line 191) | pub fn move_prev(&mut self) { function current (line 203) | pub fn current(&mut self) -> Option<&mut T> { function peek_next (line 213) | pub fn peek_next(&self) -> Option<&T> { self.peek_next_node().map(|node|... function peek_prev (line 220) | pub fn peek_prev(&self) -> Option<&T> { self.peek_prev_node().map(|node|... function peek_next_node (line 223) | fn peek_next_node(&self) -> Option<&GhostNode<'brand, T>> { function peek_prev_node (line 232) | fn peek_prev_node(&self) -> Option<&GhostNode<'brand, T>> { function insert_after (line 252) | pub fn insert_after(&mut self, item: T) { function insert_before (line 271) | pub fn insert_before(&mut self, item: T) { function remove_current (line 290) | pub fn remove_current(&mut self) -> Option { function remove_current_as_list (line 307) | pub fn remove_current_as_list(&mut self) -> Option> { function splice_after (line 363) | pub fn splice_after(&mut self, other: &mut TripodList<'brand, T>) { function splice_before (line 411) | pub fn splice_before(&mut self, other: &mut TripodList<'brand, T>) { function split_after (line 459) | pub fn split_after(&mut self) -> TripodList<'brand, T> { function split_before (line 493) | pub fn split_before(&mut self) -> TripodList<'brand, T> { method drop (line 521) | fn drop(&mut self) { function assert_none (line 537) | fn assert_none<'a, 'brand, T>(cursor: Cursor<'a, 'brand, T>) function assert_cursor (line 548) | fn assert_cursor(before: &[&str], current: &str, after: &[&str], cursor:... function assert_twilight (line 561) | fn assert_twilight(before: &[&str], cursor: Cursor<'_, '_, String>) { function place_cursor (line 575) | fn place_cursor<'a, 'brand>(token: &'a mut GhostToken<'brand>, list: &'a... function cursor_front_empty (line 590) | fn cursor_front_empty() { function cursor_back_empty (line 605) | fn cursor_back_empty() { function cursor_move_next (line 620) | fn cursor_move_next() { function cursor_move_prev (line 649) | fn cursor_move_prev() { function cursor_mut_front_empty (line 678) | fn cursor_mut_front_empty() { function cursor_mut_back_empty (line 693) | fn cursor_mut_back_empty() { function cursor_mut_move_next (line 708) | fn cursor_mut_move_next() { function cursor_mut_move_prev (line 737) | fn cursor_mut_move_prev() { function assert_insert_after (line 766) | fn assert_insert_after(list: Vec, element: String, at: usize, be... function cursor_mut_insert_after (line 777) | fn cursor_mut_insert_after() { function assert_insert_before (line 806) | fn assert_insert_before(list: Vec, element: String, at: usize, b... function cursor_mut_insert_before (line 817) | fn cursor_mut_insert_before() { function assert_splice_after (line 846) | fn assert_splice_after(list: Vec, other: Vec, at: usize,... function assert_splice_after_twilight (line 858) | fn assert_splice_after_twilight(list: Vec, other: Vec, b... function cursor_mut_splice_after (line 870) | fn cursor_mut_splice_after() { function assert_splice_before (line 904) | fn assert_splice_before(list: Vec, other: Vec, at: usize... function assert_splice_before_twilight (line 916) | fn assert_splice_before_twilight(list: Vec, other: Vec, ... function cursor_mut_splice_before (line 928) | fn cursor_mut_splice_before() { function assert_remove_current (line 962) | fn assert_remove_current(list: Vec, at: usize, result: Option<&s... function cursor_mut_remove_current (line 974) | fn cursor_mut_remove_current() { function assert_remove_current_as_list (line 1011) | fn assert_remove_current_as_list(list: Vec, at: usize, result: O... function cursor_mut_remove_current_as_list (line 1028) | fn cursor_mut_remove_current_as_list() { function assert_split_after (line 1068) | fn assert_split_after(list: Vec, at: usize, before: &[&str], cur... function cursor_mut_split_after (line 1083) | fn cursor_mut_split_after() { function assert_split_before (line 1117) | fn assert_split_before(list: Vec, at: usize, before: &[&str], cu... function cursor_mut_split_before (line 1132) | fn cursor_mut_split_before() { FILE: src/tripod_list/iter.rs type Iter (line 6) | pub struct Iter<'a, 'brand, T> { function new (line 13) | pub fn new(token: &'a GhostToken<'brand>, list: &'a TripodList<'brand, T... function empty (line 22) | pub(super) fn empty(token: &'a GhostToken<'brand>) -> Self { function slice (line 27) | pub(super) fn slice( type Item (line 38) | type Item = &'a T; method next (line 40) | fn next(&mut self) -> Option { method next_back (line 59) | fn next_back(&mut self) -> Option { function empty (line 84) | fn empty() { function forward (line 94) | fn forward() { function backward (line 109) | fn backward() { function alternate (line 124) | fn alternate() { function alternate_other (line 140) | fn alternate_other() { FILE: src/tripod_tree.rs type TripodTree (line 35) | pub struct TripodTree<'brand, T> { function new (line 41) | pub const fn new() -> Self { Self { root: None, } } function singleton (line 44) | pub fn singleton(value: T, token: &mut GhostToken<'brand>) -> Self { function iter (line 55) | pub fn iter<'a>(&'a self, token: &'a GhostToken<'brand>) -> Iter<'a, 'br... function iter_range (line 68) | pub fn iter_range<'a, R>(&'a self, range: R, token: &'a GhostToken<'bran... function cursor (line 78) | pub fn cursor<'a>(&'a self, token: &'a GhostToken<'brand>) -> Cursor<'a,... function cursor_mut (line 83) | pub fn cursor_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) -... function cursor_front (line 88) | pub fn cursor_front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curs... function cursor_front_mut (line 93) | pub fn cursor_front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bra... function cursor_back (line 98) | pub fn cursor_back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Curso... function cursor_back_mut (line 103) | pub fn cursor_back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'bran... function is_empty (line 108) | pub fn is_empty(&self) -> bool { self.root.is_none() } function len (line 111) | pub fn len(&self, token: &GhostToken<'brand>) -> usize { function clear (line 123) | pub fn clear(&mut self, token: &mut GhostToken<'brand>) { function front (line 171) | pub fn front<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a ... function back (line 183) | pub fn back<'a>(&'a self, token: &'a GhostToken<'brand>) -> Option<&'a T> { function at (line 195) | pub fn at<'a>(&'a self, at: usize, token: &'a GhostToken<'brand>) -> Opt... function push_front (line 211) | pub fn push_front(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_front (line 223) | pub fn pop_front(&mut self, token: &mut GhostToken<'brand>) -> Option { function push_back (line 235) | pub fn push_back(&mut self, value: T, token: &mut GhostToken<'brand>) { function pop_back (line 247) | pub fn pop_back(&mut self, token: &mut GhostToken<'brand>) -> Option { function append (line 261) | pub fn append(&mut self, other: &mut TripodTree<'brand, T>, token: &mut ... function prepend (line 275) | pub fn prepend(&mut self, other: &mut TripodTree<'brand, T>, token: &mut... function split_off (line 293) | pub fn split_off(&mut self, at: usize, token: &mut GhostToken<'brand>) -... function split (line 316) | pub fn split(&mut self, range: R, token: &mut GhostToken<'brand>) -> ... function into_range (line 353) | fn into_range(&self, range: R, token: &GhostToken<'brand>) -> Range) -> QuarterNodePt... function from_quarter (line 391) | fn from_quarter(node: QuarterNodePtr<'brand, T>, token: &GhostToken<'bra... function node_into_inner (line 401) | fn node_into_inner(node: QuarterNodePtr<'brand, T>, token: &mut GhostTok... function node_into_full (line 408) | fn node_into_full(node: QuarterNodePtr<'brand, T>, token: &mut GhostToke... function full_into_inner (line 420) | fn full_into_inner(full: FullNodePtr<'brand, T>) -> T { function front_mut (line 442) | pub fn front_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) ->... function back_mut (line 457) | pub fn back_mut<'a>(&'a mut self, token: &'a mut GhostToken<'brand>) -> ... function at_mut (line 472) | pub fn at_mut<'a>(&'a mut self, mut at: usize, token: &'a mut GhostToken... method default (line 502) | fn default() -> Self { Self::new() } type Side (line 507) | pub enum Side { method opposite (line 516) | pub fn opposite(self) -> Side { type Node (line 528) | struct Node<'brand, T> { function index (line 542) | fn index(&self, token: &GhostToken<'brand>) -> usize { function left_size (line 547) | fn left_size(&self, token: &GhostToken<'brand>) -> usize { function right_size (line 552) | fn right_size(&self, token: &GhostToken<'brand>) -> usize { function child_size (line 557) | fn child_size(&self, side: Side, token: &GhostToken<'brand>) -> usize { function is_aliased (line 563) | fn is_aliased(&self, node: Option<&GhostNode<'brand, T>>) -> bool { function is_child (line 568) | fn is_child(&self, token: &GhostToken<'brand>) -> Option { function is_child_of (line 573) | fn is_child_of(&self, candidate: &Self) -> Option { function up (line 584) | fn up(&self) -> Option<&GhostNode<'brand, T>> { function left (line 591) | fn left(&self) -> Option<&GhostNode<'brand, T>> { function right (line 598) | fn right(&self) -> Option<&GhostNode<'brand, T>> { function child (line 605) | fn child(&self, side: Side) -> Option<&GhostNode<'brand, T>> { function replace_child (line 612) | fn replace_child(&mut self, side: Side, new: QuarterNodePtr<'brand, T>) ... function set_child (line 617) | fn set_child(&mut self, side: Side, new: QuarterNodePtr<'brand, T>) { function take_child (line 623) | fn take_child(&mut self, side: Side) -> Option> { function child_ref (line 632) | fn child_ref(&self, side: Side) -> &Option> { function child_mut (line 640) | fn child_mut(&mut self, side: Side) -> &mut Option QuarterNodePtr<'brand, T> { self.tripod.take().expec... function retract (line 651) | fn retract(&self, tripod: QuarterNodePtr<'brand, T>) { function retract (line 657) | fn retract<'brand, T>(tripod: QuarterNodePtr<'brand, T>, token: &mut Gho... type GhostNode (line 664) | type GhostNode<'brand, T> = GhostCell<'brand, Node<'brand, T>>; type QuarterNodePtr (line 666) | type QuarterNodePtr<'brand, T> = StaticRc, 1, 4>; type HalfNodePtr (line 667) | type HalfNodePtr<'brand, T> = StaticRc, 2, 4>; type FullNodePtr (line 668) | type FullNodePtr<'brand, T> = StaticRc, 4, 4>; function assert_tree (line 678) | pub(super) fn assert_tree(expected: &[&str], cursor: Cursor<'_, '_, Stri... function assert_element (line 685) | fn assert_element(expected: Option<&str>, actual: Option<&String>) { function assert_element_mut (line 691) | fn assert_element_mut(expected: Option<&str>, actual: Option<&mut String... function tree_new (line 696) | fn tree_new() { function tree_test (line 703) | fn tree_test() { function tree_access (line 718) | fn tree_access() { function tree_access_mut (line 738) | fn tree_access_mut() { function tree_pop_push (line 757) | fn tree_pop_push() { function tree_append (line 778) | fn tree_append() { function tree_prepend (line 795) | fn tree_prepend() { function tree_split_off (line 812) | fn tree_split_off() { function tree_split (line 828) | fn tree_split() { function with_tree (line 891) | pub(super) fn with_tree(flat: &[&str], fun: F) -> R function with_tree_duo (line 906) | pub(super) fn with_tree_duo(first: &[&str], second: &[&str], fun: ... function inflate (line 923) | pub(super) fn inflate<'brand>(flat: &[&str], token: &mut GhostToken<'bra... function flatten (line 965) | pub(super) fn flatten(mut cursor: Cursor<'_, '_, String>) -> Vec { function left_child_index (line 1013) | fn left_child_index(index: usize) -> usize { 2 * index + 1 } function right_child_index (line 1015) | fn right_child_index(index: usize) -> usize { 2 * index + 2 } FILE: src/tripod_tree/cursor.rs type Cursor (line 21) | pub struct Cursor<'a, 'brand, T> { function new (line 31) | pub fn new(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'brand, T... function index (line 40) | pub fn index(&self) -> Option { self.node.map(|_| self.index) } function range (line 45) | pub fn range(&self) -> Range { function move_to_root (line 55) | pub fn move_to_root(&mut self) { *self = Self::new(self.token, self.tree) } function move_up (line 60) | pub fn move_up(&mut self) { function move_left (line 72) | pub fn move_left(&mut self) { function move_right (line 84) | pub fn move_right(&mut self) { function move_down (line 96) | pub fn move_down(&mut self, side: Side) { function try_move_up (line 108) | pub fn try_move_up(&mut self) -> Option<&'a T> { function try_move_left (line 125) | pub fn try_move_left(&mut self) -> Option<&'a T> { function try_move_right (line 142) | pub fn try_move_right(&mut self) -> Option<&'a T> { function try_move_down (line 160) | pub fn try_move_down(&mut self, side: Side) -> Option<&'a T> { function current (line 173) | pub fn current(&self) -> Option<&'a T> { self.node.map(|node| &node.borr... function peek_up (line 176) | pub fn peek_up(&self) -> Option<&'a T> { self.peek_up_node().0.map(|node... function peek_left (line 179) | pub fn peek_left(&self) -> Option<&'a T> { self.peek_left_node().0.map(|... function peek_right (line 182) | pub fn peek_right(&self) -> Option<&'a T> { self.peek_right_node().0.map... function peek_down (line 185) | pub fn peek_down(&self, side: Side) -> Option<&'a T> { self.peek_down_no... function root_of (line 188) | fn root_of(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'brand, T... function peek_up_node (line 196) | fn peek_up_node(&self) -> (Option<&'a GhostNode<'brand, T>>, usize) { function peek_left_node (line 221) | fn peek_left_node(&self) -> (Option<&'a GhostNode<'brand, T>>, usize) { function peek_right_node (line 239) | fn peek_right_node(&self) -> (Option<&'a GhostNode<'brand, T>>, usize) { function peek_down_node (line 257) | fn peek_down_node(&self, side: Side) -> (Option<&'a GhostNode<'brand, T>... function new_front (line 288) | pub fn new_front(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'br... function new_back (line 304) | pub fn new_back(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'bra... function move_to_front (line 320) | pub fn move_to_front(&mut self) { *self = Self::new_front(self.token, se... function move_to_back (line 328) | pub fn move_to_back(&mut self) { *self = Self::new_back(self.token, self... function move_next (line 339) | pub fn move_next(&mut self) { function move_prev (line 355) | pub fn move_prev(&mut self) { function move_to (line 375) | pub fn move_to(&mut self, at: usize) { function try_move_next (line 391) | pub fn try_move_next(&mut self) -> Option<&'a T> { function try_move_prev (line 413) | pub fn try_move_prev(&mut self) -> Option<&'a T> { function try_move_to (line 439) | pub fn try_move_to(&mut self, at: usize) -> Option<&'a T> { function peek_next (line 459) | pub fn peek_next(&self) -> Option<&'a T> { self.peek_next_node().0.map(|... function peek_prev (line 467) | pub fn peek_prev(&self) -> Option<&'a T> { self.peek_prev_node().0.map(|... function peek_at (line 475) | pub fn peek_at(&self, at: usize) -> Option<&'a T> { self.peek_at_node(at... function len (line 478) | fn len(&self) -> usize { self.tree.len(self.token) } function peek_next_node (line 481) | fn peek_next_node(&self) -> (Option<&'a GhostNode<'brand, T>>, usize) { function peek_prev_node (line 492) | fn peek_prev_node(&self) -> (Option<&'a GhostNode<'brand, T>>, usize) { function peek_at_node (line 505) | fn peek_at_node(&self, at: usize) -> Option<&'a GhostNode<'brand, T>> { method clone (line 573) | fn clone(&self) -> Self { *self } type CursorMut (line 592) | pub struct CursorMut<'a, 'brand, T> { function new (line 602) | pub fn new(token: &'a mut GhostToken<'brand>, tree: &'a mut TripodTree<'... function as_cursor (line 610) | pub fn as_cursor(&self) -> Cursor<'_, 'brand, T> { function index (line 622) | pub fn index(&self) -> Option { self.node.as_ref().map(|_| self.i... function range (line 627) | pub fn range(&self) -> Range { self.as_cursor().range() } function move_up (line 632) | pub fn move_up(&mut self) { function move_left (line 644) | pub fn move_left(&mut self) { function move_right (line 656) | pub fn move_right(&mut self) { function move_down (line 668) | pub fn move_down(&mut self, side: Side) { function move_to_root (line 678) | pub fn move_to_root(&mut self) { function try_move_up (line 701) | pub fn try_move_up(&mut self) -> Option<&mut T> { function try_move_left (line 719) | pub fn try_move_left(&mut self) -> Option<&mut T> { function try_move_right (line 737) | pub fn try_move_right(&mut self) -> Option<&mut T> { function try_move_down (line 755) | pub fn try_move_down(&mut self, side: Side) -> Option<&mut T> { function current (line 768) | pub fn current(&mut self) -> Option<&mut T> { function peek_up (line 774) | pub fn peek_up(&self) -> Option<&T> { self.peek_up_node().0.map(|node| &... function peek_left (line 777) | pub fn peek_left(&self) -> Option<&T> { self.peek_left_node().0.map(|nod... function peek_right (line 780) | pub fn peek_right(&self) -> Option<&T> { self.peek_right_node().0.map(|n... function peek_down (line 783) | pub fn peek_down(&self, side: Side) -> Option<&T> { self.peek_down_node(... function root_of (line 786) | fn root_of<'b>(token: &'b GhostToken<'brand>, tree: &'b TripodTree<'bran... function deploy_tripod (line 794) | fn deploy_tripod(&self, node: &GhostNode<'brand, T>) -> QuarterNodePtr<'... function retract_tripod (line 797) | fn retract_tripod(&mut self, node: QuarterNodePtr<'brand, T>) { function switch_tripod (line 802) | fn switch_tripod(&mut self, new_tripod: Option... function peek_up_node (line 811) | fn peek_up_node(&self) -> (Option<&GhostNode<'brand, T>>, usize) { function peek_left_node (line 816) | fn peek_left_node(&self) -> (Option<&GhostNode<'brand, T>>, usize) { function peek_right_node (line 821) | fn peek_right_node(&self) -> (Option<&GhostNode<'brand, T>>, usize) { function peek_down_node (line 826) | fn peek_down_node(&self, side: Side) -> (Option<&GhostNode<'brand, T>>, ... function new_front (line 839) | pub fn new_front(token: &'a mut GhostToken<'brand>, tree: &'a mut Tripod... function new_back (line 855) | pub fn new_back(token: &'a mut GhostToken<'brand>, tree: &'a mut TripodT... function move_next (line 874) | pub fn move_next(&mut self) { function move_prev (line 890) | pub fn move_prev(&mut self) { function move_to (line 910) | pub fn move_to(&mut self, at: usize) { function move_to_front (line 929) | pub fn move_to_front(&mut self) { function move_to_back (line 943) | pub fn move_to_back(&mut self) { function try_move_next (line 959) | pub fn try_move_next(&mut self) -> Option<&mut T> { function try_move_prev (line 981) | pub fn try_move_prev(&mut self) -> Option<&mut T> { function try_move_to (line 1007) | pub fn try_move_to(&mut self, at: usize) -> Option<&mut T> { function peek_next (line 1032) | pub fn peek_next(&self) -> Option<&T> { self.peek_next_node().0.map(|nod... function peek_prev (line 1040) | pub fn peek_prev(&self) -> Option<&T> { self.peek_prev_node().0.map(|nod... function peek_at (line 1048) | pub fn peek_at(&self, at: usize) -> Option<&T> { self.peek_at_node(at).m... function len (line 1051) | fn len(&self) -> usize { self.tree.len(self.token) } function peek_next_node (line 1054) | fn peek_next_node(&self) -> (Option<&GhostNode<'brand, T>>, usize) { function peek_prev_node (line 1059) | fn peek_prev_node(&self) -> (Option<&GhostNode<'brand, T>>, usize) { function peek_at_node (line 1066) | fn peek_at_node(&self, at: usize) -> Option<&GhostNode<'brand, T>> { function insert_after (line 1078) | pub fn insert_after(&mut self, value: T) { function insert_before (line 1088) | pub fn insert_before(&mut self, value: T) { function remove_current (line 1098) | pub fn remove_current(&mut self) -> Option { function remove_current_as_tree (line 1117) | pub fn remove_current_as_tree(&mut self) -> TripodTree<'brand, T> { function splice_after (line 1182) | pub fn splice_after(&mut self, other: &mut TripodTree<'brand, T>) { function splice_before (line 1206) | pub fn splice_before(&mut self, other: &mut TripodTree<'brand, T>) { function split_after (line 1230) | pub fn split_after(&mut self) -> TripodTree<'brand, T> { function split_before (line 1250) | pub fn split_before(&mut self) -> TripodTree<'brand, T> { function sift_down (line 1261) | fn sift_down(&mut self) { function splice_impl (line 1288) | fn splice_impl(&mut self, side: Side, other: &mut TripodTree<'brand, T>) { function split_impl (line 1337) | fn split_impl(&mut self, side: Side) -> TripodTree<'brand, T> { function set_subtree (line 1431) | fn set_subtree(&mut self, side: Side, other_root: QuarterNodePtr<'brand,... function rebalance_tree_complete (line 1463) | fn rebalance_tree_complete(&mut self, root_tripod: QuarterNodePtr<'brand... function rebalance_tree_single (line 1486) | fn rebalance_tree_single(&mut self, root_tripod: QuarterNodePtr<'brand, ... function rebalance_subtree_complete (line 1509) | fn rebalance_subtree_complete(&mut self, mut root_tripod: QuarterNodePtr... function rebalance_subtree_single (line 1540) | fn rebalance_subtree_single(&mut self, root_tripod: QuarterNodePtr<'bran... function rebalance_child (line 1560) | fn rebalance_child(&mut self, side: Side, parent: &GhostNode<'brand, T>) { function swap_child_from (line 1615) | fn swap_child_from(&mut self, side: Side, root_tripod: QuarterNodePtr<'b... function rotate_child_from (line 1750) | fn rotate_child_from(&mut self, side: Side, root_tripod: QuarterNodePtr<... function prepare_rotation (line 1846) | fn prepare_rotation(&mut self, side: Side, root_tripod: QuarterNodePtr<'... function adjust_size (line 1894) | fn adjust_size(&mut self, node: &GhostNode<'brand, T>) { function take_child (line 1906) | fn take_child(side: Side, node: &GhostNode<'brand, T>, token: &mut Ghost... function describe_node (line 1924) | fn describe_node(&self, caller: &str, node: &GhostNode<'brand, T>) { function describe_node (line 1943) | fn describe_node(&self, _: &str, _: &GhostNode<'brand, T>) {} function describe_self (line 1947) | fn describe_self(&self, caller: &str) { function describe_self (line 1961) | fn describe_self(&self, _: &str) {} method drop (line 1965) | fn drop(&mut self) { type Position (line 1981) | struct Position<'a> { function new (line 1994) | const fn new( function range (line 2011) | const fn range(&self) -> Range { self.start..self.end } function assert_twilight (line 2015) | fn assert_twilight(cursor: Cursor<'_, '_, String>) { function assert_neighbours (line 2022) | fn assert_neighbours(parent: Option<&str>, left: Option<&str>, right: Op... function assert_log_neighbours (line 2029) | fn assert_log_neighbours(prev: Option<&str>, next: Option<&str>, cursor:... function assert_empty (line 2035) | fn assert_empty(cursor: Cursor<'_, '_, String>) { function assert_current (line 2042) | fn assert_current(at: usize, range: Range, element: &str, cursor:... function assert_position (line 2049) | fn assert_position(pos: Position<'_>, cursor: Cursor<'_, '_, String>) { function assert_twilight_mut (line 2056) | fn assert_twilight_mut(cursor: &mut CursorMut<'_, '_, String>) { function assert_neighbours_mut (line 2063) | fn assert_neighbours_mut(parent: Option<&str>, left: Option<&str>, right... function assert_log_neighbours_mut (line 2070) | fn assert_log_neighbours_mut(prev: Option<&str>, next: Option<&str>, cur... function assert_empty_mut (line 2076) | fn assert_empty_mut(cursor: &mut CursorMut<'_, '_, String>) { function assert_current_mut (line 2083) | fn assert_current_mut(at: usize, range: Range, element: &str, cur... function assert_position_mut (line 2090) | fn assert_position_mut(pos: Position<'_>, cursor: &mut CursorMut<'_, '_,... function cursor_empty (line 2101) | fn cursor_empty() { function cursor_mut_empty (line 2145) | fn cursor_mut_empty() { function cursor_brush_move_up_left_right (line 2189) | fn cursor_brush_move_up_left_right() { function cursor_mut_brush_move_up_left_right (line 2235) | fn cursor_mut_brush_move_up_left_right() { function cursor_brush_move_prev_next (line 2281) | fn cursor_brush_move_prev_next() { function cursor_mut_brush_move_prev_next (line 2317) | fn cursor_mut_brush_move_prev_next() { function cursor_brush_move_to (line 2355) | fn cursor_brush_move_to() { function cursor_mut_brush_move_to (line 2384) | fn cursor_mut_brush_move_to() { function cursor_mut_move_to_self (line 2413) | fn cursor_mut_move_to_self() { function cursor_mut_remove_current_twilight (line 2447) | fn cursor_mut_remove_current_twilight() { function cursor_mut_remove_current_root (line 2473) | fn cursor_mut_remove_current_root() { function cursor_mut_remove_current_front_to_back (line 2540) | fn cursor_mut_remove_current_front_to_back() { function cursor_mut_remove_current_back_to_front (line 2605) | fn cursor_mut_remove_current_back_to_front() { function cursor_mut_insert_after_from_twilight (line 2674) | fn cursor_mut_insert_after_from_twilight() { function cursor_mut_insert_before_from_twilight (line 2704) | fn cursor_mut_insert_before_from_twilight() { function cursor_mut_insert_as_leaf (line 2732) | fn cursor_mut_insert_as_leaf() { function cursor_mut_splice_empty (line 2816) | fn cursor_mut_splice_empty() { function cursor_mut_splice_twilight (line 2881) | fn cursor_mut_splice_twilight() { function cursor_mut_splice_after (line 2966) | fn cursor_mut_splice_after() { function cursor_mut_splice_before (line 3032) | fn cursor_mut_splice_before() { function cursor_mut_split_twilight (line 3098) | fn cursor_mut_split_twilight() { function cursor_mut_split_after (line 3135) | fn cursor_mut_split_after() { function cursor_mut_split_before (line 3176) | fn cursor_mut_split_before() { FILE: src/tripod_tree/iter.rs type Iter (line 11) | pub struct Iter<'a, 'brand, T> { function new (line 18) | pub fn new(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'brand, T... function range (line 26) | pub fn range(token: &'a GhostToken<'brand>, tree: &'a TripodTree<'brand,... function at (line 33) | fn at(&self, index: usize) -> Option<&'a T> { type Item (line 41) | type Item = &'a T; method next (line 43) | fn next(&mut self) -> Option { method size_hint (line 48) | fn size_hint(&self) -> (usize, Option) { self.range.size_hint() } method count (line 50) | fn count(self) -> usize { self.range.count() } method last (line 52) | fn last(mut self) -> Option { method nth (line 58) | fn nth(&mut self, n: usize) -> Option { method next_back (line 65) | fn next_back(&mut self) -> Option { method nth_back (line 70) | fn nth_back(&mut self, n: usize) -> Option { method clone (line 77) | fn clone(&self) -> Self { Self { range: self.range.clone(), cursor: self... constant TREE (line 85) | const TREE: &[&str] = &["8", "4", "C", "2", "6", "A", "E", "1", "3", "5"... function iter_range (line 88) | fn iter_range() { function iter_next (line 131) | fn iter_next() { function iter_size_hint (line 142) | fn iter_size_hint() { function iter_count (line 151) | fn iter_count() { function iter_last (line 160) | fn iter_last() { function iter_nth (line 169) | fn iter_nth() { function iter_next_back (line 180) | fn iter_next_back() { function iter_nth_back (line 191) | fn iter_nth_back() {