Ocamlnet 4 Reference Manual : Netstring_tstring

`sig
type _ tstring_kind =
String_kind : string Netstring_tstring.tstring_kind
| Bytes_kind : Bytes.t Netstring_tstring.tstring_kind
| Memory_kind : Netsys_types.memory Netstring_tstring.tstring_kind
type 't tstring_ops = {
kind : 't Netstring_tstring.tstring_kind option;
length : 't -> int;
get : 't -> int -> char;
unsafe_get : 't -> int -> char;
unsafe_get3 : 't -> int -> int;
copy : 't -> 't;
string : 't -> string;
bytes : 't -> Bytes.t;
sub : 't -> int -> int -> 't;
substring : 't -> int -> int -> string;
subbytes : 't -> int -> int -> Bytes.t;
subpoly : 'u. 'u Netstring_tstring.tstring_kind -> 't -> int -> int -> 'u;
blit_to_bytes : 't -> int -> Bytes.t -> int -> int -> unit;
blit_to_memory : 't -> int -> Netsys_types.memory -> int -> int -> unit;
index_from : 't -> int -> char -> int;
index_from3 : 't -> int -> int -> char -> char -> char -> int;
rindex_from : 't -> int -> char -> int;
rindex_from3 : 't -> int -> int -> char -> char -> char -> int;
}
type tstring_ops_box =
Tstring_ops_box : 't Netstring_tstring.tstring_kind *
't Netstring_tstring.tstring_ops -> Netstring_tstring.tstring_ops_box
type tstring_box =
Tstring_box : 't Netstring_tstring.tstring_kind *
't Netstring_tstring.tstring_ops *
't -> Netstring_tstring.tstring_box
type tstring_polybox =
Tstring_polybox : 't Netstring_tstring.tstring_ops *
't -> Netstring_tstring.tstring_polybox
val string_ops : string Netstring_tstring.tstring_ops
val bytes_ops : Bytes.t Netstring_tstring.tstring_ops
val memory_ops : Netsys_types.memory Netstring_tstring.tstring_ops
val ops_of_tstring :
Netsys_types.tstring -> Netstring_tstring.tstring_ops_box
type 'a with_fun = {
with_fun : 's. 's Netstring_tstring.tstring_ops -> 's -> 'a;
}
val with_tstring :
'a Netstring_tstring.with_fun -> Netsys_types.tstring -> 'a
val length_tstring : Netsys_types.tstring -> int
val tstring_of_tbuffer : Netsys_types.tbuffer -> Netsys_types.tstring
val polymorph_string_transformation :
(string -> string) ->
's Netstring_tstring.tstring_ops ->
't Netstring_tstring.tstring_kind -> 's -> 't
val bytes_subpoly :
'u Netstring_tstring.tstring_kind -> Bytes.t -> int -> int -> 'u
end`