All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.toxicbakery.kfinstatemachine.graph.IDirectedGraph.kt Maven / Gradle / Ivy

The newest version!
package com.toxicbakery.kfinstatemachine.graph

/**
 * Directed graph that defines nodes and edges.
 */
interface IDirectedGraph {

    /**
     * All of the nodes defined in the graph.
     */
    val nodes: Set

    /**
     * Edges defined by a node.
     */
    fun edges(
        node: N,
        defaultValue: () -> Map = { throw Exception("Node not in graph.") }
    ): Map

    /**
     * Transitions available to a specific node.
     */
    fun transitions(node: N): Set

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy