(* $Id: oqueue.ml,v 1.8 2002/08/04 10:32:54 garrigue Exp $ *) open Queue class ['a] c () = object val q = create () method add x = add x q method take = take q method peek = peek q method clear = clear q method is_empty = is_empty q method length = length q method iter ~(f : 'a -> unit) = iter f q method fold : 'b. f:('b -> 'a -> 'b) -> 'b -> 'b = fun ~f init -> fold f init q end