diff --git a/src/util/Backtrack_stack.ml b/src/util/Backtrack_stack.ml index a23056f1..890be02f 100644 --- a/src/util/Backtrack_stack.ml +++ b/src/util/Backtrack_stack.ml @@ -34,3 +34,5 @@ let pop_levels (self:_ t) (n:int) ~f : unit = done; Vec.shrink self.lvls new_lvl ) + +let iter ~f self = Vec.iter f self.vec diff --git a/src/util/Backtrack_stack.mli b/src/util/Backtrack_stack.mli index e7125138..901c63ce 100644 --- a/src/util/Backtrack_stack.mli +++ b/src/util/Backtrack_stack.mli @@ -19,3 +19,5 @@ val push_level : _ t -> unit val pop_levels : 'a t -> int -> f:('a -> unit) -> unit (** [pop_levels st n ~f] removes [n] levels, calling [f] on every removed item *) + +val iter : f:('a -> unit) -> 'a t -> unit