visit method
void
visit(
- RadixTreeNode<
T> node, - String prefixAllowed,
- String prefix,
- RadixTreeKVVisitor<
T?> visitor,
Visits the given node of this tree with the given prefix and visitor.
Also, recursively visits the left/right subtrees of this node.
Implementation
void visit(
RadixTreeNode<T> node,
String prefixAllowed,
String prefix,
RadixTreeKVVisitor<T?> visitor,
) {
if (node.hasValue && prefix.startsWith(prefixAllowed)) {
visitor(prefix, node.value);
}
var prefixLength = prefix.length;
for (var child in node.children) {
if (prefixAllowed.length <= prefixLength ||
child.prefix[0] == prefixAllowed[prefixLength]) {
visit(child, prefixAllowed, prefix + child.prefix, visitor);
}
}
}