Types and exceptions
Type of bigstrings
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> tval sexp_of_t : t -> Sexplib0.Sexp.ttype t_frozen = tType of bigstrings which support hashing. Note that mutation invalidates previous hashes.
val hash_fold_t_frozen : Base.Hash.state -> t_frozen -> Base.Hash.stateval hash_t_frozen : t_frozen -> Base.Hash.hash_valueval sexp_of_t_frozen : t_frozen -> Ppx_sexp_conv_lib.Sexp.tval t_frozen_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t_frozeninclude Base.Equal.S with type t := t
val equal : t Base.Equal.equalCreation and string conversion
create length
- parameter max_mem_waiting_gc
default = 256 M in OCaml <= 3.12, 1 G otherwise. As the total allocation of calls to
createapproachmax_mem_waiting_gc_in_bytes, the pressure in the garbage collector to be more agressive will increase.
- returns
a new bigstring having
length. Content is undefined.
init n ~f creates a bigstring t of length n, with t.{i} = f i.
val of_string : ?pos:Base.int -> ?len:Base.int -> Base.string -> tof_string ?pos ?len str
- returns
a new bigstring that is equivalent to the substring of length
leninstrstarting at positionpos.
- parameter pos
default = 0
- parameter len
default =
String.length str - pos
val of_bytes : ?pos:Base.int -> ?len:Base.int -> Base.bytes -> tof_bytes ?pos ?len str
- returns
a new bigstring that is equivalent to the subbytes of length
leninstrstarting at positionpos.
- parameter pos
default = 0
- parameter len
default =
Bytes.length str - pos
val to_string : ?pos:Base.int -> ?len:Base.int -> t -> Base.stringto_string ?pos ?len bstr
- returns
a new string that is equivalent to the substring of length
leninbstrstarting at positionpos.
- parameter pos
default = 0
- parameter len
default =
length bstr - pos
- raises Invalid_argument
if the string would exceed runtime limits.
val to_bytes : ?pos:Base.int -> ?len:Base.int -> t -> Base.bytesto_bytes ?pos ?len bstr
- returns
a new byte sequence that is equivalent to the substring of length
leninbstrstarting at positionpos.
- parameter pos
default = 0
- parameter len
default =
length bstr - pos
- raises Invalid_argument
if the bytes would exceed runtime limits.
concat ?sep list returns the concatenation of list with sep in between each.
Checking
val check_args : loc:Base.string -> pos:Base.int -> len:Base.int -> t -> Base.unitcheck_args ~loc ~pos ~len bstr checks the position and length arguments pos and len for bigstrings bstr.
- raises
Invalid_argument if these arguments are illegal for the given bigstring using
locto indicate the calling context.
val get_opt_len : t -> pos:Base.int -> Base.int Base.option -> Base.intget_opt_len bstr ~pos opt_len
- returns
the length of a subbigstring in
bstrstarting at positionposand given optional lengthopt_len. This function does not check the validity of its arguments. Usecheck_argsfor that purpose.
Accessors
Blitting
include Base.Blit.S with type t := t
module To_string : sig ... endmodule From_string : Base.Blit.S_distinct with type src := Base.string with type dst := tmodule To_bytes : Base.Blit.S_distinct with type src := t with type dst := Base.bytesmodule From_bytes : Base.Blit.S_distinct with type src := Base.bytes with type dst := tmemset t ~pos ~len c fills t with c within the range [pos, pos + len).
memcmp t1 ~pos1 t2 ~pos2 ~len is like compare t1 t2 except performs the comparison on the subregions of t1 and t2 defined by pos1, pos2, and len.
Search
find ?pos ?len char t returns Some i for the smallest i >= pos such that t.{i} = char, or None if there is no such i.
- parameter pos
default = 0
- parameter len
default =
length bstr - pos
Same as find, but does no bounds checking, and returns a negative value instead of None if char is not found.
Accessors for parsing binary values, analogous to Binary_packing
16-bit methods
32-bit methods
64-bit signed values
64-bit unsigned values
32-bit methods with full precision
val get_int32_t_le : t -> pos:Base.int -> Base.Int32.tval get_int32_t_be : t -> pos:Base.int -> Base.Int32.tval set_int32_t_le : t -> pos:Base.int -> Base.Int32.t -> Base.unitval set_int32_t_be : t -> pos:Base.int -> Base.Int32.t -> Base.unitval unsafe_get_int32_t_le : t -> pos:Base.int -> Base.Int32.tval unsafe_get_int32_t_be : t -> pos:Base.int -> Base.Int32.tval unsafe_set_int32_t_le : t -> pos:Base.int -> Base.Int32.t -> Base.unitval unsafe_set_int32_t_be : t -> pos:Base.int -> Base.Int32.t -> Base.unit64-bit methods with full precision
val get_int64_t_le : t -> pos:Base.int -> Base.Int64.tval get_int64_t_be : t -> pos:Base.int -> Base.Int64.tval set_int64_t_le : t -> pos:Base.int -> Base.Int64.t -> Base.unitval set_int64_t_be : t -> pos:Base.int -> Base.Int64.t -> Base.unitval unsafe_get_int64_t_le : t -> pos:Base.int -> Base.Int64.tval unsafe_get_int64_t_be : t -> pos:Base.int -> Base.Int64.tval unsafe_set_int64_t_le : t -> pos:Base.int -> Base.Int64.t -> Base.unitval unsafe_set_int64_t_be : t -> pos:Base.int -> Base.Int64.t -> Base.unitmodule Private : sig ... end