diff options
| -rw-r--r-- | lib/util.ml | 4 | ||||
| -rw-r--r-- | lib/util.mli | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index 98defb6fd5..689f12558d 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -563,6 +563,10 @@ let option_compare f a b = match (a,b) with | Some a', Some b' -> f a' b' | _ -> failwith "option_compare" +let option_iter f = function + | None -> () + | Some x -> f x + let option_smartmap f a = match a with | None -> a | Some x -> let x' = f x in if x'==x then a else Some x' diff --git a/lib/util.mli b/lib/util.mli index 80b841b2b1..068ea256f5 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -173,6 +173,7 @@ val interval : int -> int -> int list val in_some : 'a -> 'a option val out_some : 'a option -> 'a val option_app : ('a -> 'b) -> 'a option -> 'b option +val option_iter : ('a -> unit) -> 'a option -> unit val option_compare : ('a -> 'b -> bool) -> 'a option -> 'b option -> bool val option_smartmap : ('a -> 'a) -> 'a option -> 'a option |
