Lines Matching defs:subtree
513 /// subtree - Access the i'th subtree reference in a branch node.
516 NodeRef &subtree(unsigned i) const {
683 // The key array in a branch node holds the rightmost stop key of each subtree.
687 // It is unusual for a branch node to only have one subtree, but it can happen
700 const NodeRef &subtree(unsigned i) const { return this->first[i]; }
703 NodeRef &subtree(unsigned i) { return this->first[i]; }
705 /// findFrom - Find the first subtree after i that may contain x.
710 /// This is the first subtree that can possibly contain x.
719 /// safeFind - Find a subtree that is known to exist. This is the same as
724 /// This is the first subtree that can possibly contain x.
734 /// safeLookup - Get the subtree containing x, Assuming that x is in range.
736 /// @return Subtree containing x
738 return subtree(safeFind(0, x));
741 /// insert - Insert a new (subtree, stop) pair.
744 /// @param Node Subtree to insert.
745 /// @param Stop Last key in subtree.
750 subtree(i) = Node;
779 : node(&Node.subtree(0)), size(Node.size()), offset(Offset) {}
781 NodeRef &subtree(unsigned i) const {
815 /// subtree - Get the subtree referenced from Level. When the path is
816 /// consistent, node(Level + 1) == subtree(Level).
818 NodeRef &subtree(unsigned Level) const {
819 return path[Level].subtree(path[Level].offset);
822 /// reset - Reset cached information about node(Level) from subtree(Level -1).
825 path[Level] = Entry(subtree(Level - 1), offset(Level));
829 /// @param Node Node to add, should be subtree(path.size()-1).
847 subtree(Level - 1).setSize(Size);
880 push(subtree(height()), 0);
1197 rootBranch().subtree(n) = node[n];
1236 rootBranch().subtree(n) = Node[n];
1253 Refs.push_back(rootBranch().subtree(i));
1259 NextRefs.push_back(Refs[i].subtree(j));
1457 IntervalMapImpl::NodeRef NR = path.subtree(path.height());
1461 NR = NR.subtree(p);
1490 // Search towards the root for a usable subtree.