Module Base__.Blit_intf

type ('src, 'dst) blit = src:'src -> src_pos:int -> dst:'dst -> dst_pos:int -> len:int -> unit

If blit : (src, dst) blit, then blit ~src ~src_pos ~len ~dst ~dst_pos blits len values from src starting at position src_pos to dst at position dst_pos. Furthermore, blit raises if src_pos, len, and dst_pos don't specify valid slices of src and dst.

type ('src, 'dst) blito = src:'src -> ?⁠src_pos:int -> ?⁠src_len:int -> dst:'dst -> ?⁠dst_pos:int -> unit -> unit

blito is like blit, except that the src_pos, src_len, and dst_pos are optional (hence the "o" in "blito"). Also, we use src_len rather than len as a reminder that if src_len isn't supplied, then the default is to take the slice running from src_pos to the end of src.

type ('src, 'dst) sub = 'src -> pos:int -> len:int -> 'dst

If sub : (src, dst) sub, then sub ~src ~pos ~len returns a sequence of type dst containing len characters of src starting at pos.

subo is like sub, except pos and len are optional.

type ('src, 'dst) subo = ?⁠pos:int -> ?⁠len:int -> 'src -> 'dst
module type S = sig ... end
module type S1 = sig ... end
module type S_distinct = sig ... end
module type S1_distinct = sig ... end
module type S_to_string = sig ... end
module type Sequence = sig ... end
type 'a poly = 'a
module type Sequence1 = sig ... end
module type Blit = sig ... end