Library
Module
Module type
Parameter
Class
Class type
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 version = [
| `V3 of t * string
Name based with MD5 hashing
*)| `V4
Random based
*)| `V5 of t * string
Name based with SHA-1 hasing
*) ]
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 v4_gen
to specify your own seed.
val v4_gen : Random.State.t -> unit -> t
v4 seed
is a function that generates random version 4 UUIDs with the given seed
.
val nil : t
nil
is the nil UUID.
val ns_dns : t
ns_dns
is the DNS namespace UUID.
val ns_url : t
ns_url
is the URL namespace UUID.
val ns_oid : t
ns_oid
is the ISO OID namespace UUID.
val ns_X500 : t
ns_dn
is the X.500 DN namespace UUID.
val of_bytes : ?pos:int -> string -> t option
of_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 -> string
to_bytes u
is u
as a 16 bytes long string.
val of_string : ?pos:int -> string -> t option
of_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 -> string
to_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 : Format.formatter -> t -> unit
pp ppf u
formats u
on ppf
like to_string
would do. It is unspecified whether upper or lower case hexadecimal numbers are used.
val pp_string : ?upper:bool -> Format.formatter -> t -> unit
pp_string ?upper ppf u
formats u
on ppf
like to_string
would do.