type 'a t = 'a Base.Uniform_array.t
include Bin_prot.Binable.S1 with type 'a t := 'a t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.tval bin_size_t : ('a, 'a t) Bin_prot.Size.sizer1val bin_write_t : ('a, 'a t) Bin_prot.Write.writer1val bin_read_t : ('a, 'a t) Bin_prot.Read.reader1val __bin_read_t__ : ('a, int -> 'a t) Bin_prot.Read.reader1val bin_writer_t : ('a, 'a t) Bin_prot.Type_class.S1.writerval bin_reader_t : ('a, 'a t) Bin_prot.Type_class.S1.readerval bin_t : ('a, 'a t) Bin_prot.Type_class.S1.t
include Ppx_sexp_conv_lib.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a tval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
include module type of sig ... end with type 'a Uniform_array.t := 'a t
include module type of Base.Uniform_array with type 'a t := 'a t
include Base.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a tval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
val invariant : 'a t -> unitval empty : 'a tval create : len:int -> 'a -> 'a tval singleton : 'a -> 'a tval init : int -> f:(int -> 'a) -> 'a tval length : 'a t -> intval get : 'a t -> int -> 'aval unsafe_get : 'a t -> int -> 'aval set : 'a t -> int -> 'a -> unitval unsafe_set : 'a t -> int -> 'a -> unitval swap : 'a t -> int -> int -> unitval unsafe_set_omit_phys_equal_check : 'a t -> int -> 'a -> unitunsafe_set_omit_phys_equal_checkis likeunsafe_set, except it doesn't do aphys_equalcheck to try to skipcaml_modify. It is safe to call this even if the values arephys_equal.
val map : 'a t -> f:('a -> 'b) -> 'a tval iter : 'a t -> f:('a -> unit) -> unitval iteri : 'a t -> f:(int -> 'a -> unit) -> unitLike
iter, but the function is applied to the index of the element as first argument, and the element itself as second argument.
val of_array : 'a array -> 'a tof_arrayandto_arrayreturn fresh arrays with the same contents rather than returning a reference to the underlying array.
include Base.Blit.S1 with type 'a t := 'a t
val blit : src:'a t -> src_pos:int -> dst:'a t -> dst_pos:int -> len:int -> unitval blito : src:'a t -> ?src_pos:int -> ?src_len:int -> dst:'a t -> ?dst_pos:int -> unit -> unitval unsafe_blit : src:'a t -> src_pos:int -> dst:'a t -> dst_pos:int -> len:int -> unitval sub : 'a t -> pos:int -> len:int -> 'a tval subo : ?pos:int -> ?len:int -> 'a t -> 'a t
Extra lowlevel and unsafe functions
val unsafe_create_uninitialized : len:int -> 'a tThe behavior is undefined if you access an element before setting it.
val create_obj_array : len:int -> 'a tNew obj array filled with
Obj.repr 0
val unsafe_set_assuming_currently_int : 'a t -> int -> Caml.Obj.t -> unitunsafe_set_assuming_currently_int t i objsets indexiofttoobj, but only works correctly if the value there is an immediate, i.e.Caml.Obj.is_int (get t i). This precondition saves a dynamic check.unsafe_set_int_assuming_currently_intis similar, except the value being set is an int.unsafe_set_intis similar but does not assume anything about the target.
val unsafe_set_int_assuming_currently_int : 'a t -> int -> int -> unitval unsafe_set_int : 'a t -> int -> int -> unitval unsafe_clear_if_pointer : 'a t -> int -> unitunsafe_clear_if_pointer t ipreventst.(i)from pointing to anything to prevent space leaks. It does this by settingt.(i)toCaml.Obj.repr 0. As a performance hack, it only does this whennot (Caml.Obj.is_int t.(i)). It is an error to access the cleared index before setting it again.
val exists : 'a t -> f:('a -> bool) -> boolAs
Array.exists.