kermit-iters 0.0.9

Iterators used in Kermit
Documentation

kermit-iters

Core iterator traits for the Kermit workspace. This crate has zero internal dependencies and sits at the root of the dependency graph — every other crate builds on the abstractions defined here.

What lives here

  • LinearIterator — sorted sequential iteration over a flat level. Methods: key, next, seek, at_end.
  • TrieIterator — extends LinearIterator with open (descend to child level) and up (ascend to parent). The fundamental abstraction consumed by Leapfrog Triejoin.
  • LinearIterable / TrieIterable — traits implemented by data structures that can produce such iterators.
  • TrieIteratorWrapper — adapts any TrieIterator into a standard Iterator<Item = Vec<usize>> via depth-first traversal, optionally filtered by arity.
  • JoinIterable — marker trait that both iterator traits extend; unifies types consumable by kermit-algos.
  • Key — canonical usize key alias used throughout the workspace.

Design rationale

See ARCHITECTURE.md for the full trait hierarchy discussion. In short: decoupling the iterator traits from any specific data structure lets algorithms in kermit-algos work over any compatible trie implementation (TreeTrie, ColumnTrie, or a future addition) without modification.