package core
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6f7bbdda1d97f2f542a45331f062127dd5264d6ed73ece7b2c6b330785dfc991
doc/core/Core/Blit/index.html
Module Core.Blit
This module extends Base.Blit.
module type S = Base.Blit.Smodule type S1 = Base.Blit.S1module type S_distinct = Base.Blit.S_distinctmodule type S1_distinct = Base.Blit.S1_distinctmodule type S_to_string = Base.Blit.S_to_stringmodule type Sequence = Base.Blit.Sequencemodule type Sequence1 = Base.Blit.Sequence1There are various Make* functors that turn an unsafe_blit function into a blit function. The functors differ in whether the sequence type is monomorphic or polymorphic, and whether the src and dst types are distinct or are the same.
The blit functions make sure the slices are valid and then call unsafe_blit. They guarantee at a call unsafe_blit ~src ~src_pos ~dst ~dst_pos ~len that:
len > 0
&& src_pos >= 0
&& src_pos + len <= get_src_len src
&& dst_pos >= 0
&& dst_pos + len <= get_dst_len dstThe Make* functors also automatically create unit tests.
module Make = Base.Blit.MakeMake is for blitting between two values of the same monomorphic type.
module Make_distinct = Base.Blit.Make_distinctMake_distinct is for blitting between values of distinct monomorphic types.
module Make_to_string = Base.Blit.Make_to_stringmodule Make1 = Base.Blit.Make1Make1 is for blitting between two values of the same polymorphic type.
module Make1_generic = Base.Blit.Make1_genericMake1_generic is for blitting between two values of the same container type that's not fully polymorphic (in the sense of Container.Generic).
module type S_permissions = sig ... endmodule type S1_permissions = sig ... end