Buffers
type pos_ref = pos Stdlib.refReference to a position within buffers
type buf = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.tBuffers
val create_buf : int -> bufcreate_buf n creates a buffer of size n.
val buf_len : buf -> intbuf_len buf returns the length of buf.
val assert_pos : pos -> unitassert_pos pos
- raises Invalid_argument
if position
posis negative.
check_pos buf pos
- raises Buffer_short
if position
posexceeds the length of bufferbuf.
check_next buf pos
- raises Buffer_short
if the next position after
posexceeds the length of bufferbuf.
safe_get_pos buf pos_ref
- returns
the position referenced by
pos_refwithin bufferbuf.@raise Buffer_short
if the position exceeds the length of the buffer.
val blit_string_buf : ?src_pos:int -> string -> ?dst_pos:int -> buf -> len:int -> unitblit_string_buf ?src_pos src ?dst_pos dst ~len blits len bytes of the source string src starting at position src_pos to buffer dst starting at position dst_pos.
- raises Invalid_argument
if the designated ranges are invalid.
val blit_bytes_buf : ?src_pos:int -> bytes -> ?dst_pos:int -> buf -> len:int -> unitblit_bytes_buf ?src_pos src ?dst_pos dst ~len blits len bytes of the source byte sequence src starting at position src_pos to buffer dst starting at position dst_pos.
- raises Invalid_argument
if the designated ranges are invalid.
val blit_buf_string : ?src_pos:int -> buf -> ?dst_pos:int -> bytes -> len:int -> unitblit_buf_string ?src_pos src ?dst_pos dst ~len blits len bytes of the source buffer src starting at position src_pos to string dst starting at position dst_pos.
- raises Invalid_argument
if the designated ranges are invalid.
val blit_buf_bytes : ?src_pos:int -> buf -> ?dst_pos:int -> bytes -> len:int -> unitblit_buf_bytes ?src_pos src ?dst_pos dst ~len blits len bytes of the source buffer src starting at position src_pos to byte sequence dst starting at position dst_pos.
- raises Invalid_argument
if the designated ranges are invalid.
blit_buf ?src_pos ~src ?dst_pos ~dst len blits len bytes of the source buffer src starting at position src_pos to destination buffer dst starting at position dst_pos.
- raises Invalid_argument
if the designated ranges are invalid.
Errors and exceptions
module ReadError : sig ... endexception Read_error of ReadError.t * posReadError (err, err_pos)
PolyRecWrite type gets raised when the user attempts to write or estimate the size of a value of a type that is bound through a polymorphic record field in type definition type.
EmptyType gets raised when the user attempts to write or estimate the size of a value of an empty type, which would not make sense.
val raise_read_error : ReadError.t -> pos -> 'araise_read_error err pos
val raise_variant_wrong_type : string -> pos -> 'araise_variant_wrong_type name pos
raise_concurrent_modification loc
- raises Failure
if a binary writer detects a concurrent change to the underlying data structure.
Bigarrays
type vec32 = (float, Bigarray.float32_elt, Bigarray.fortran_layout) Bigarray.Array1.ttype vec64 = (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array1.ttype vec = vec64type mat32 = (float, Bigarray.float32_elt, Bigarray.fortran_layout) Bigarray.Array2.ttype mat64 = (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array2.ttype mat = mat64Miscellaneous
val copy_htbl_list : ('a, 'b) Stdlib.Hashtbl.t -> ('a * 'b) list -> ('a, 'b) Stdlib.Hashtbl.tcopy_htbl_list htbl lst adds all (key, value) pairs in lst to hash table htbl.
NOTE: unsafe functions!!!
val unsafe_blit_string_buf : src_pos:int -> string -> dst_pos:int -> buf -> len:int -> unitval unsafe_blit_bytes_buf : src_pos:int -> bytes -> dst_pos:int -> buf -> len:int -> unitval unsafe_blit_buf_string : src_pos:int -> buf -> dst_pos:int -> bytes -> len:int -> unitval unsafe_blit_buf_bytes : src_pos:int -> buf -> dst_pos:int -> bytes -> len:int -> unitval unsafe_blit_float_array_buf : src_pos:int -> float array -> dst_pos:int -> buf -> len:int -> unitval unsafe_blit_buf_float_array : src_pos:int -> buf -> dst_pos:int -> float array -> len:int -> unit