Module Hardcaml.With_valid

Uses a valid bit to indicate the validity of a value. Conceptually similar to an Option.t.

type ('a, 'b) t2 = ( 'a, 'b ) Comb.with_valid2 = {
valid : 'a;
value : 'b;
}
val sexp_of_t2 : ( 'a -> Sexplib0.Sexp.t ) -> ( 'b -> Sexplib0.Sexp.t ) -> ( 'a, 'b ) t2 -> Sexplib0.Sexp.t
val t2_of_sexp : ( Sexplib0.Sexp.t -> 'a ) -> ( Sexplib0.Sexp.t -> 'b ) -> Sexplib0.Sexp.t -> ( 'a, 'b ) t2
val bin_shape_t2 : Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_t2 : 'a Bin_prot.Size.sizer -> 'b Bin_prot.Size.sizer -> ( 'a, 'b ) t2 Bin_prot.Size.sizer
val bin_write_t2 : 'a Bin_prot.Write.writer -> 'b Bin_prot.Write.writer -> ( 'a, 'b ) t2 Bin_prot.Write.writer
val bin_writer_t2 : 'a Bin_prot.Type_class.writer -> 'b Bin_prot.Type_class.writer -> ( 'a, 'b ) t2 Bin_prot.Type_class.writer
val bin_read_t2 : 'a Bin_prot.Read.reader -> 'b Bin_prot.Read.reader -> ( 'a, 'b ) t2 Bin_prot.Read.reader
val __bin_read_t2__ : 'a Bin_prot.Read.reader -> 'b Bin_prot.Read.reader -> ( Base.int -> ( 'a, 'b ) t2 ) Bin_prot.Read.reader
val bin_reader_t2 : 'a Bin_prot.Type_class.reader -> 'b Bin_prot.Type_class.reader -> ( 'a, 'b ) t2 Bin_prot.Type_class.reader
val bin_t2 : 'a Bin_prot.Type_class.t -> 'b Bin_prot.Type_class.t -> ( 'a, 'b ) t2 Bin_prot.Type_class.t
type 'a t = ( 'a, 'a ) t2
include Sexplib0.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> Sexplib0__.Sexp.t -> 'a t
val sexp_of_t : ( 'a -> Sexplib0__.Sexp.t ) -> 'a t -> Sexplib0__.Sexp.t
include Bin_prot.Binable.S1 with type 'a t := 'a t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_t : ( 'a, 'a t ) Bin_prot.Size.sizer1
val bin_write_t : ( 'a, 'a t ) Bin_prot.Write.writer1
val bin_read_t : ( 'a, 'a t ) Bin_prot.Read.reader1
val __bin_read_t__ : ( 'a, int -> 'a t ) Bin_prot.Read.reader1
val bin_writer_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.writer
val bin_reader_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.reader
val bin_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.t
val map : 'a t -> f:( 'a -> 'b ) -> 'b t
val map2 : 'a t -> 'b t -> f:( 'a -> 'b -> 'c ) -> 'c t
val iter : 'a t -> f:( 'a -> Base.unit ) -> Base.unit
val iter2 : 'a t -> 'b t -> f:( 'a -> 'b -> Base.unit ) -> Base.unit
val to_list : 'a t -> 'a Base.list
val map_valid : ( 'a, 'b ) t2 -> f:( 'a -> 'c ) -> ( 'c, 'b ) t2
val map_value : ( 'a, 'b ) t2 -> f:( 'b -> 'c ) -> ( 'a, 'c ) t2
module Fields : sig ... end

Create a new hardcaml interface with type 'a With_valid.t X.t

module Wrap : sig ... end

Create a new hardcaml interface with type ('a, 'a X.t) With_valid.t2.

module Vector (X : sig ... end) : Interface.S with type 'a t = 'a t