= The UUID Library
:Author: John Reppy
:Date: {release-date}
:stem: latexmath
:source-highlighter: pygments
:VERSION: {smlnj-version}

== Overview

The *UUID Library* is a library for generating
https://en.wikipedia.org/wiki/Universally_unique_identifier[
UUIDs (__**U**niversally **U**nique **ID**entifiers__)], which
are also known as GUIDs (__**G**lobally **U**nique  **ID**entifiers__).
It currently only supports generating Variant 1, Type 4 UUIDs, which
are random bit strings (these are the UUIDs generated by the `NewGuid`
function on **Microsoft Windows**).

The *UUID Library* was first included in Version 110.97 of *SML/NJ*.

== Contents

xref:str-UUID.adoc[`[.kw]#structure# UUID`]::
  This structure implements an abstract type for representing UUIDs.

xref:str-GenUUID.adoc[`[.kw]#structure# GenUUID`]::
  This structure implements a generator for UUIDs.

== Usage

For https://smlnj.org[*SML/NJ*], include `$/uuid-lib.cm` in your
*CM* file.

For use in https://www.mlton.org/[*MLton*], include
`$(SML_LIB)/smlnj-lib/UUID/uuid-lib.mlb` in your *MLB* file.

ifdef::backend-pdf[]

// Push titles down one level.
:leveloffset: 1

include::str-UUID.adoc[]

include::str-GenUUID.adoc[]

// Return to normal title levels.
:leveloffset: 0

endif::[]
