module Uuidm:sig..end
Universally unique identifiers (UUIDs).
Uuidm implements 128 bits universally unique identifiers version
3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based)
according to RFC 4122.
v0.9.6 - homepage
type t
The type for UUIDs.
typeversion =[ `V3 of t * string | `V4 | `V5 of t * string ]
The type for UUID versions and generation parameters. `V3 and `V5
specify a namespace and a name for the generation. `V4 is random based
with a private state seeded with Random.State.make_self_init, use
Uuidm.v4_gen to specify your own seed.
val v : version -> tv version is an UUID of the given version.
val v3 : t -> string -> tv3 ns n is create `V3 (ns, n).
val v5 : t -> string -> tv5 ns n is create `V5 (ns, n).
val v4_gen : Stdlib.Random.State.t -> unit -> tv4 seed is a function that generates random version 4 UUIDs with
the given seed.
val nil : tnil is the nil UUID.
val ns_dns : tns_dns is the DNS namespace UUID.
val ns_url : tns_url is the URL namespace UUID.
val ns_oid : tns_oid is the ISO OID namespace UUID.
val ns_X500 : tns_dn is the X.500 DN namespace UUID.
val compare : t -> t -> intcompare u u' totally orders u and u'.
val equal : t -> t -> boolequal u u' is true iff u and u' are equal.
val of_bytes : ?pos:int -> string -> t optionof_bytes pos s is the UUID represented by the 16 bytes starting
at pos (defaults to 0) in s. Returns None if the string
is not long enough.
val to_bytes : t -> stringto_bytes u is u as a 16 bytes long string.
val of_string : ?pos:int -> string -> t optionof_string pos s converts the substring of s starting at pos
(defaults to 0) of the form "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
where X is a lower or upper case hexadecimal number to an
UUID. Returns None if a parse error occured.
val to_string : ?upper:bool -> t -> stringto_string u is u as a string of the form
"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" where X is
a lower case hexadecimal number (or upper if upper is
true).
val pp : Stdlib.Format.formatter -> t -> unitpp ppf u formats u on ppf like Uuidm.to_string would do. It is
unspecified whether upper or lower case hexadecimal numbers are used.
val pp_string : ?upper:bool -> Stdlib.Format.formatter -> t -> unitpp_string ?upper ppf u formats u on ppf like Uuidm.to_string would
do.