Module type State_selection.S

module type S = sig .. end

Operations over selections which depend on a State Dependency Graph implementation.


Builders from dependencies

val with_dependencies : State.t -> State_selection.t

The selection containing the given state and all its dependencies.

val only_dependencies : State.t -> State_selection.t

The selection containing all the dependencies of the given state (but not this state itself).

val with_codependencies : State.t -> State_selection.t

The selection containing the given state and all its co-dependencies.

val only_codependencies : State.t -> State_selection.t

The selection containing all the co-dependencies of the given state (but not this state itself).

Builders by operations over sets

val union : State_selection.t -> State_selection.t -> State_selection.t

Union of two selections.

val list_union : State_selection.t list -> State_selection.t

Union of an arbitrary number of selection (0 gives an empty selection)

val diff : State_selection.t -> State_selection.t -> State_selection.t

Difference between two selections.

Specific Getters

val cardinal : State_selection.t -> int

Size of a selection.

val to_list : State_selection.t -> State.t list

Convert a selection into a list of states.

val pretty : Stdlib.Format.formatter -> State_selection.t -> unit

Display a selection.

val pretty_witness : Stdlib.Format.formatter -> State_selection.t -> unit

Display a selection in a more concise form. (Using the atomic operations that were used to create it.)

Iterators

val iter_succ : (State.t -> unit) -> State_selection.t -> State.t -> unit

Iterate over the successor of a state in a selection. The order is unspecified.

val fold_succ : (State.t -> 'a -> 'a) -> State_selection.t -> State.t -> 'a -> 'a

Iterate over the successor of a state in a selection. The order is unspecified.

val iter : (State.t -> unit) -> State_selection.t -> unit

Iterate over a selection. The order is unspecified.

val fold : (State.t -> 'a -> 'a) -> State_selection.t -> 'a -> 'a

Fold over a selection. The order is unspecified.

val iter_in_order : (State.t -> unit) -> State_selection.t -> unit

Iterate over a selection in a topological ordering compliant with the State Dependency Graph. Less efficient that State_selection.S.iter.

val fold_in_order : (State.t -> 'a -> 'a) -> State_selection.t -> 'a -> 'a

Fold over a selection in a topological ordering compliant with the State Dependency Graph. Less efficient that State_selection.S.iter.