aboutsummaryrefslogblamecommitdiffstats
path: root/lib/protocols/Enumerable.mli
blob: a0c1f1c8f2921edbf3066905d1d43c1a90353dcb (plain) (tree)
1
2
3
4
5
6
7
8
9


                                  
                                                                    



                                                
                                                                                   
                                                                                     






                                                                             
type t

class type implementation = object
  method enumerate : (Handle.t, Concepts.Condition.condition) result
end

val make : #implementation -> Handle.protocol
val from : Handle.t -> t Handle.interface option
val require : Handle.t -> (t Handle.interface, Concepts.Condition.condition) result
val enumerate : t Handle.interface -> (Handle.t, Concepts.Condition.condition) result
val cursor : Handle.t -> (Handle.t, Concepts.Condition.condition) result

(** [f] over a cursor on [handle], released once [f] returns. *)
val scan :
  Handle.t ->
  (Cursor.t Handle.interface -> ('a, Concepts.Condition.condition) result) ->
  ('a, Concepts.Condition.condition) result