GameTree
public indirect enum GameTree<Node, Edge: Hashable>
Generic tree representation with non-uniform branching factor.
-
Leaf tree node
Declaration
Swift
case Leaf(Node)
-
Branch tree node
Declaration
Swift
case Branch(Node, [Edge: GameTree<Node, Edge>])
-
Execute passed closures based on node type.
Implemented as:
switch self { case .Leaf(let node): return leaf(node) case .Branch(let node, let edges): return branch(node, edges) }
Declaration
Swift
public func analysis<T>(leaf leaf: Node -> T, branch: (Node, [Edge: GameTree<Node, Edge>]) -> T) -> T
-
Generate dot-formatted (Graphviz) tree representation.
Declaration
Swift
public func customDebugDescription(tree: GameTree<Node, Edge>, parentEdge: Edge? = nil, prefix: String = "root", closure: (Node, Edge?) -> (String, String?)) -> String