BinaryDecisionDiagramVisitor

Implements the Visitor pattern over a BinaryDecisionDiagram to its hierarchy, which only includes instances of BinaryDecisionDiagram.Terminal and BinaryDecisionDiagram.Variable. This abstraction is the method of choice to explore the internal structure of a BDD, dispatched through BinaryDecisionDiagram.accept rather than by checking BinaryDecisionDiagram.isTerminal/BinaryDecisionDiagram.isVariable and casting manually. All BDD operators and utilities in this module (e.g. expansion, apply, any, map) are themselves implemented as internal visitors.

Author

Jason Dellaluce

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun visit(node: BinaryDecisionDiagram.Terminal<T>): E

Invoked by BinaryDecisionDiagram.accept when the visited node is a BinaryDecisionDiagram.Terminal.

abstract fun visit(node: BinaryDecisionDiagram.Variable<T>): E

Invoked by BinaryDecisionDiagram.accept when the visited node is a BinaryDecisionDiagram.Variable.