sidekick/src/util/Backtrack_stack.mli
2022-07-17 20:21:22 -04:00

15 lines
345 B
OCaml

(** {1 A backtracking stack} *)
type 'a t
val create : unit -> 'a t
val push : 'a t -> 'a -> unit
(** Push an element onto the stack *)
val push_if_nonzero_level : 'a t -> 'a -> unit
(** Push an element onto the stack if level > 0 *)
include Sidekick_sigs.BACKTRACKABLE1_CB with type 'a t := 'a t
val iter : f:('a -> unit) -> 'a t -> unit