aboutsummaryrefslogtreecommitdiff
path: root/lib/util.ml
diff options
context:
space:
mode:
authormsozeau2011-08-10 14:27:41 +0000
committermsozeau2011-08-10 14:27:41 +0000
commitce014bf1c0912a7a48025e6184a27bd929089252 (patch)
tree4bdbfe817fa97d4fbfd635ec45667031a03bfd05 /lib/util.ml
parent08502c0d2299ed820a07e76fe785b6330ff119cd (diff)
Added list_map_filter_i
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14397 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/util.ml')
-rw-r--r--lib/util.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index e9f87acb53..688d415840 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -695,6 +695,14 @@ let rec list_map_filter f = function
let l' = list_map_filter f l in
match f x with None -> l' | Some y -> y::l'
+let list_map_filter_i f =
+ let rec aux i = function
+ | [] -> []
+ | x::l ->
+ let l' = aux (succ i) l in
+ match f i x with None -> l' | Some y -> y::l'
+ in aux 0
+
let list_subset l1 l2 =
let t2 = Hashtbl.create 151 in
List.iter (fun x -> Hashtbl.add t2 x ()) l2;