Lines Matching refs:path
125 // Output the path to this {FocusedTree} and its length. If no such
126 // {FocusedTree} exists, return {nullptr} and output the path to the last node
128 // path and may be less than the length of the found {FocusedTree}.
130 std::array<const FocusedTree*, kHashBits>* path,
133 // Load value from the leaf node on the focused path of {tree}.
137 // (bit==kRight) child of the node on the path of {tree} at tree level
142 // Find the leftmost path in the tree, starting at the node at tree level
143 // {level} on the path of {start}. Output the level of the leaf to {level} and
144 // the path to {path}.
147 std::array<const FocusedTree*, kHashBits>* path);
157 // This structure represents a hash tree with one focused path to a specific
158 // leaf. For the focused leaf, it stores key, value and key hash. The path is
160 // datastructure, the nodes of a path form a linked list with the values being
161 // the pointers outside of this path. Instead of storing all of these nodes,
162 // we store an array of the pointers pointing outside of the path. This is
165 // right of the path. As there is no explicit representation of a tree node,
166 // this structure also represents all the nodes on its path. The intended node
175 // The depth of the focused path, that is, the number of pointers stored in
187 const FocusedTree*& path(int i) {
192 const FocusedTree* path(int i) const {
380 std::array<const FocusedTree*, kHashBits> path;
382 const FocusedTree* old = FindHash(key_hash, &path, &length);
405 tree->path(i) = path[i];
419 tree = level < tree->length ? tree->path(level) : nullptr;
428 HashValue hash, std::array<const FocusedTree*, kHashBits>* path,
435 (*path)[level] = level < map_length ? tree->path(level) : nullptr;
438 (*path)[level] = tree;
439 tree = level < tree->length ? tree->path(level) : nullptr;
444 (*path)[level] = tree->path(level);
480 return tree->path(level);
490 std::array<const FocusedTree*, kHashBits>* path) {
494 (*path)[*level] = GetChild(current, *level, kRight);
499 (*path)[*level] = GetChild(current, *level, kLeft);