src/cplib/str/compressed_trie

  Source   Edit

Types

CompressedTrieNode = ref object
  parent*: CompressedTrieNode
  child*: array['a' .. 'z', CompressedTrieNode]
  s*: StaticString[char]
  cnt*: int32
  subtree_sum*: int32
  Source   Edit

Procs

proc get_child(node: VirtualTrieNode; c: char): VirtualTrieNode {....raises: [],
    tags: [].}
  Source   Edit
proc get_cnt(node: VirtualTrieNode): int {....raises: [], tags: [].}
  Source   Edit
proc get_subtree_sum(node: VirtualTrieNode): int {....raises: [], tags: [].}
  Source   Edit
proc get_virtualnode(node: CompressedTrieNode): VirtualTrieNode {....raises: [],
    tags: [].}
  Source   Edit
proc has_child(node: VirtualTrieNode; c: char): bool {....raises: [], tags: [].}
  Source   Edit
proc initCompressedTrie(S: openArray[StaticString[char]]; sorted: bool = false): CompressedTrieNode {.
    ...raises: [], tags: [].}
  Source   Edit
proc toGraph(root: CompressedTrieNode): WeightedDirectedGraph[StaticString[char]] {.
    ...raises: [], tags: [].}
  Source   Edit