Read_write is like Dirpair, except "buy/sell" has been changed to "read/write".
module Key : sig .. end
type t = [ `Read | `Write ]
val flip : t -> t
val t_of_sexp : Sexplib.Sexp.t -> t
val __t_of_sexp__ : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
type ('a, +'z) any = private {
mutable read : 'a;
mutable write : 'a;
}
module Immutable : sig .. end
type 'a t = ('a, Core.Std.immutable) any
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
module Read_only : sig .. end
type 'a t = ('a, Core.Std.read_only) any
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
module Mutable : sig .. end
type 'a t = ('a, Core.Std.read_write) any
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
type 'a t = 'a Immutable.t
val create : read:'a -> write:'a -> ('a, 'b) any
val createi : (Key.t -> 'a) -> ('a, 'b) any
val create_both : 'a -> ('a, 'b) any
val create_fn : (unit -> 'a) -> ('a, 'b) any
val create_with : Key.t -> 'a -> zero:'a -> ('a, 'b) any
val copy : ('a, 'b) any -> ('a, 'c) any
val exists : ('a, 'b) any -> f:('a -> bool) -> bool
val for_all : ('a, 'b) any -> f:('a -> bool) -> bool
val iteri : ('a, 'b) any -> f:(Key.t -> 'a -> unit) -> unit
val iter : ('a, 'b) any -> f:('a -> unit) -> unit
val mapi : ('a, 'c) any -> f:(Key.t -> 'a -> 'b) -> ('b, 'd) any
val map : ('a, 'c) any -> f:('a -> 'b) -> ('b, 'd) any
val foldi : ('a, 'c) any -> 'b -> f:('b -> Key.t * 'a -> 'b) -> 'b
val fold : ('a, 'c) any -> 'b -> f:('b -> 'a -> 'b) -> 'b
val get : ('a, 'b) any -> Key.t -> 'a
val replace : 'a Mutable.t -> Key.t -> f:('a -> 'a) -> unit
val replace_all : 'a Mutable.t -> f:(Key.t -> 'a -> 'a) -> unit
val set : 'a Mutable.t -> Key.t -> 'a -> unit
module Export : sig .. end
type ('a, 'z) read_write_ = private ('a, 'z) any = private {
mutable read : 'a;
mutable write : 'a;
}
val any_of_sexp : (Sexplib.Sexp.t -> 'a) ->
(Sexplib.Sexp.t -> 'z) -> Sexplib.Sexp.t -> ('a, 'z) any
val sexp_of_any : ('a -> Sexplib.Sexp.t) ->
('z -> Sexplib.Sexp.t) -> ('a, 'z) any -> Sexplib.Sexp.t
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t