Module type Blit_intf.Blit

type nonrec ('src, 'dst) blit = ('src'dst) blit
type nonrec ('src, 'dst) blito = ('src'dst) blito
type nonrec ('src, 'dst) sub = ('src'dst) sub
type nonrec ('src, 'dst) subo = ('src'dst) subo
module type S = S
module type S1 = S1
module type S_distinct = S_distinct
module type S_to_string = S_to_string
module type Sequence = Sequence
module type Sequence1 = Sequence1
module Make : functor (Sequence : sig ... end) -> S with type t := Sequence.t

Make is for blitting between two values of the same monomorphic type.

module Make_distinct : functor (Src : Sequence) -> functor (Dst : sig ... end) -> S_distinct with type src := Src.t with type dst := Dst.t

Make_distinct is for blitting between values of distinct monomorphic types.

module Make_to_string : functor (T : sig ... end) -> functor (To_bytes : S_distinct with type src := T.t with type dst := bytes) -> S_to_string with type t := T.t
module Make1 : functor (Sequence : Sequence1) -> S1 with type 'a t := 'a Sequence.t

Make1 is for blitting between two values of the same polymorphic type.

module Make1_generic : functor (Sequence : Sequence1) -> S1 with type 'a t := 'a Sequence.t

Make1_generic is for blitting between two values of the same container type that's not fully polymorphic (in the sense of Container.Generic).