Lines Matching refs:root
73 root: PackedOption<Node>, field
84 root: None.into(), in new()
91 self.root.is_none() in is_empty()
96 self.root in contains()
98 .and_then(|root| Path::default().find(key, root, &forest.nodes, comp)) in contains()
146 if let Some(root) = self.root.take() { in clear()
147 forest.nodes.free_tree(root); in clear()
159 if let Some(root) = self.root.expand() { in retain()
160 path.first(root, &forest.nodes); in retain()
166 self.root = path.remove(&mut forest.nodes).into(); in retain()
184 root: self.root, in iter()
209 root: &'a mut PackedOption<Node>, field
223 root: &mut container.root, in new()
232 self.root.is_none() in is_empty()
247 self.root in prev()
249 .and_then(|root| self.path.prev(root, self.pool).map(|(k, _)| k)) in prev()
266 match self.root.expand() { in goto()
268 Some(root) => { in goto()
269 if self.path.find(elem, root, self.pool, self.comp).is_some() { in goto()
281 self.root.map(|root| self.path.first(root, self.pool).0) in goto_first()
296 match self.root.expand() { in try_insert()
298 let root = self.pool.alloc_node(NodeData::leaf(elem, SetValue()))?; in try_insert() localVariable
299 *self.root = root.into(); in try_insert()
300 self.path.set_root_node(root); in try_insert()
303 Some(root) => { in try_insert()
305 if self.path.find(elem, root, self.pool, self.comp).is_none() { in try_insert()
306 *self.root = self.path.insert(elem, SetValue(), self.pool)?.into(); in try_insert()
320 *self.root = self.path.remove(self.pool).into(); in remove()
334 self.root.map(|root| self.pool.verify_tree(root, self.comp)); in verify()
349 root: PackedOption<Node>, field
364 match self.root.take() { in next()
365 Some(root) => Some(self.path.first(root, self.pool).0), in next()