Module dag

Module dag 

Source
Expand description

General DAG iteration utilities

Structs§

InternalSharing
Share using pointer identity, i.e. yield each node only once, where two nodes are the same iff they both point to the same object.
MaxSharing
Maximal sharing: share every node whose CMR and cached data match
NoSharing
Do not share at all; yield every node in the expanded DAG
PostOrderIter
Iterates over a DAG in post order.
PostOrderIterItem
A set of data yielded by a PostOrderIter
PreOrderIter
Iterates over a DAG in pre order.
PreOrderIterItem
A set of data yielded by a VerbosePreOrderIter.
SwapChildren
A wrapper around a DAG-like reference that swaps the two children
VerbosePreOrderIter
Iterates over a DAG in “verbose pre order”, yielding extra state changes.

Enums§

Dag
Abstract node of a directed acyclic graph.

Traits§

DagLike
A trait for any structure which has the shape of a Simplicity DAG
SharingTracker
How much sharing/expansion to do when running an iterator over a DAG

Type Aliases§

RtlPostOrderIter
Return type of the DagLike::rtl_post_order_iter method.