Pstring
Primitive string
type.
type char63 = Uint63.t
val max_length : Uint63.t
val to_string : t -> string
to_string s
converts the primitive string s
into a standard string.
val of_string : string -> t option
of_string s
converts string s
into a primitive string if its size does not exceed max_length_int
, and returns None
otherwise.
make i c
returns a string of size min i max_length
containing only the character with code c l_and 255
.
get s i
gives the code of the character stored at index i
in s
. When index i
is invalid, the function returns zero.
sub s off len
returns the substring of s
starting at offset off
, and of length len
, when possible. If off
is not a valid offset in s
, the empty string is returned. If off
is a valid offset, the function returns the longest possible suffix of s
that: (1) starts at off
, and (2) does not have more than len
characters.
cat s1 s2
returns the concatenation of s1
and of the longest prefix of s2
such that the sum of their lengths does not exceed max_length
.
compare s1 s2
returns 0
if s1
and s2
are equal, a number less than 0
if s1
is smaller than s2
, and a number greater than 0
if s1
is greater than s2
.
val hash : t -> int
hash s
gives a hash of s
, with the same value as Hashtbl.hash s
.
val unsafe_of_string : string -> t
unsafe_of_string s
converts s
into a primitive string without checking whether its size satisfies the length constraint. Callers of this function must ensure that length s <= max_length_int
, which is always the case if s
was obtained via to_string
. NOTE: this function is used in generated code, via compile
.
val compile : t -> string
compile s
outputs an OCaml expression producing primitive string s
.