Utility methods consumed in filling a crossword puzzle.
Data stores that store the result of partial word lookups to prevent repeated work.
An algorithm that composes algorithms and data structures throughout this crate. This is where the magic happens.
The sole trait involved in filling crossword puzzles. Algorithms that conform to this interface will be easy to compare against the existing algorithm.
Determines whether a given crossword puzzle is viable. This performs several checks to decide whether a partially complete crossword should be considered for further filling, or should be discarded.
Identifies WordBoundaries that intersect a given