Skip to content
FutureBlitz

    Install

    Import std.collections.trie

    std.collections.trie

    Trie<V>: String keys and their values in a tree with a node for each prefix of the keys' bytes, so the keys with a prefix, or the longest key a text starts with, are found by going down the prefix alone. The keys go in the order of their bytes, which is their code points' order.

    std/collections/trie.fb

    Types

    Trie class

    @DebugEntries Public Class Trie<V> Implements Iterable<(String, V)>, Cloneable, Defaultable

    A Map from Strings that finds the keys that start with a prefix.

    std/collections/trie.fb, line 45

    • Public New() constructor #

      A new, empty Trie.

    • Public Property Count: Int property #

      How many entries it holds.

    • Public Method Add(key: String, value: V) method #

      Adds an entry, or gives an existing key its new value.

    • Public Method Get(key: String): V? method #

      The key's value, or Null when it isn't there.

    • Public Method Get(key: String, fallback: V): V method #

      The key's value, or fallback when it isn't there.

    • @PanicsAtCaller Operator [](key: String): V operator #

      The key's value. A key that isn't there panics.

    • Operator []=(key: String, value: V) operator #

      Gives the key a value, adding it when it isn't there.

    • Public Method Contains(key: String): Bool method #

      Whether key has an entry.

    • Public Method Remove(key: String): Bool method #

      Removes the key's entry, and tells whether there was one.

    • Public Method Clear() method #

      Takes every entry out.

    • Public Method HasPrefix(prefix: String): Bool method #

      Whether a key starts with prefix, as every key starts with "", so an empty Trie has none. Every node but the root is on the way to a key, since Remove takes out what only its key needed.

    • Public Method KeysWithPrefix(prefix: String): String[] method #

      The keys that start with prefix, in order, in a new array.

    • Public Method LongestPrefixOf(text: String): String? method #

      The longest key that text starts with, or Null when none does.

    • Public Method Keys(): String[] method #

      The keys, in order.

    • Public Method Values(): V[] method #

      The values, in their keys' order.

    • Public Static Method DefaultValue(): Trie<V> static method #

      A new, empty Trie.

    • Public Method Clone(): Trie<V> method #

      A new Trie with the same entries.

    • Public Method Iterate(): TrieIterator<V> method #

      Each key and its value, in order, for 'For key, value In trie'. Giving a key a new value while going over them is fine, but adding or removing one panics.

    TrieIterator struct

    Public Struct TrieIterator<V> Implements Iterator<(String, V)>

    The keys in order: the node it's at, or Null at the end, with the next of its children to go into, or -1 before its own key, and the nodes on the way down to it.

    std/collections/trie.fb, line 239

    Extends

    Trie extend

    Extend Trie<V> Implements Equatable

    No doc comment.

    std/collections/trie.fb, line 276

    Trie extend

    Extend Trie<V> Implements Printable

    No doc comment.

    std/collections/trie.fb, line 291

    Report an issue with this page or with FutureBlitz on GitHub.