RadixTree<T> class Null safety

Radix trees are String -> T mappings which allow quick lookups on the strings.

Inheritance
Annotations

Constructors

RadixTree({RadixTreeNode<T>? root, void putValue(RadixTreeNode<T> node, String key, T? value) = RadixTreeUtils.putValue, T? removeValue(RadixTreeNode<T> node, String key) = RadixTreeUtils.removeValue})
Default constructor.

Properties

entries Iterable<MapEntry<String, T?>>
The map entries of this.
read-only, override
hashCode int
The hash code for this object. [...]
read-only, inherited
isEmpty bool
Whether there is no key/value pair in the map.
read-only, override
isNotEmpty bool
Whether there is at least one key/value pair in the map.
read-only, override
keys Iterable<String>
The keys of this. [...]
read-only, override
length int
The number of key/value pairs in the map.
read-only, override
putValue ↔ void Function<T>(RadixTreeNode<T> node, String key, T? value)
Called from []= operator to set value. [...]
@protected, read / write
removeValue ↔ T? Function<T>(RadixTreeNode<T> node, String key)
Called from remove method to delete value. [...]
@protected, read / write
root RadixTreeNode<T>
The root node in this tree.
read / write
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
values Iterable<T?>
The values of this. [...]
read-only, override

Methods

addAll(Map<String, T?> other) → void
Adds all key/value pairs of other to this map. [...]
inherited
addEntries(Iterable<MapEntry<String, T?>> newEntries) → void
Adds all key/value pairs of newEntries to this map. [...]
inherited
cast<RK, RV>() Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary. [...]
inherited
clear() → void
Removes all entries from the map. [...]
override
containsKey(Object? key) bool
Whether this map contains the given key. [...]
override
containsValue(Object? value) bool
Whether this map contains the given value. [...]
override
forEach(void action(String key, T? value)) → void
Applies action to each key/value pair of the map. [...]
inherited
getEntriesWithPrefix(String prefix) List<MapEntry<String, T?>>
Gets a list of entries whose associated keys have the given prefix.
getKeysWithPrefix(String prefix) List<String>
Gets a list of keys with the given prefix.
getValuesWithPrefix(String prefix) List<T>
Gets a list of values whose associated keys have the given prefix.
map<K2, V2>(MapEntry<K2, V2> transform(String key, T? value)) Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given convert function.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
putIfAbsent(String key, T? ifAbsent()) → T?
Look up the value of key, or add a new entry if it isn't there. [...]
inherited
remove(Object? key) → T?
Removes key and its associated value, if present, from the map. [...]
override
removeWhere(bool test(String key, T? value)) → void
Removes all entries of this map that satisfy the given test.
inherited
toString() String
A string representation of this object. [...]
inherited
update(String key, T? update(T? value), {T? ifAbsent()?}) → T?
Updates the value for the provided key. [...]
inherited
updateAll(T? update(String key, T? value)) → void
Updates all values. [...]
inherited
visit(RadixTreeNode<T> node, String prefixAllowed, String prefix, RadixTreeKVVisitor<T?> visitor) → void
Visits the given node of this tree with the given prefix and visitor. Also, recursively visits the left/right subtrees of this node.
visitRoot(RadixTreeKVVisitor<T?> visitor) → void
Traverses this radix tree using the given visitor. Note that the tree will be traversed in lexicographical order.
visitRootPrefixed(RadixTreeKVVisitor<T?> visitor, String prefix) → void
Traverses this radix tree using the given visitor. Only values with the given prefix will be visited. Note that the tree will be traversed in lexicographical order.

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited
operator [](Object? key) → T?
The value for the given key, or null if key is not in the map. [...]
override
operator []=(String key, T? value) → void
Associates the key with the given value. [...]
override