[src]

Struct uuid::Uuid

pub struct Uuid {
    bytes: UuidBytes,
}

A Universally Unique Identifier (UUID)

Fields

bytes

The 128-bit number stored in 16 bytes

Methods

impl Uuid

UUID support

fn nil() -> Uuid

Returns a nil or empty UUID (containing all zeroes)

fn new(v: UuidVersion) -> Option<Uuid>

Create a new UUID of the specified version

fn new_v4() -> Uuid

Creates a new random UUID

Uses the rand module's default RNG task as the source of random numbers. Use the rand::Rand trait to supply a custom generator if required.

fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8]) -> Uuid

Creates a UUID using the supplied field values

Arguments

  • d1 A 32-bit word
  • d2 A 16-bit word
  • d3 A 16-bit word
  • d4 Array of 8 octets

fn from_bytes(b: &[u8]) -> Option<Uuid>

Creates a UUID using the supplied bytes

Arguments

  • b An array or slice of 16 bytes

fn get_variant(&self) -> Option<UuidVariant>

Returns the variant of the UUID structure

This determines the interpretation of the structure of the UUID. Currently only the RFC4122 variant is generated by this module.

fn get_version_num(&self) -> uint

Returns the version number of the UUID

This represents the algorithm used to generate the contents.

Currently only the Random (V4) algorithm is supported by this module. There are security and privacy implications for using older versions - see Wikipedia: Universally Unique Identifier for details.

fn get_version(&self) -> Option<UuidVersion>

Returns the version of the UUID

This represents the algorithm used to generate the contents

fn as_bytes<'a>(&'a self) -> &'a [u8]

Return an array of 16 octets containing the UUID data

fn to_simple_str(&self) -> ~str

Returns the UUID as a string of 16 hexadecimal digits

Example: 936DA01F9ABD4d9d80C702AF85C822A8

fn to_hyphenated_str(&self) -> ~str

Returns a string of hexadecimal digits, separated into groups with a hyphen.

Example: 550e8400-e29b-41d4-a716-446655440000

fn to_urn_str(&self) -> ~str

Returns the UUID formatted as a full URN string

This is the same as the hyphenated format, but with the "urn:uuid:" prefix.

Example: urn:uuid:F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4

fn parse_string(us: &str) -> Result<Uuid, ParseError>

Parses a UUID from a string of hexadecimal digits with optional hyphens

Any of the formats generated by this module (simple, hyphenated, urn) are supported by this parsing function.

fn is_nil(&self) -> bool

Tests if the UUID is nil

Trait Implementations

impl<S: Writer> Hash<S> for Uuid

fn hash(&self, state: &mut S)

impl Default for Uuid

fn default() -> Uuid

Returns the nil UUID, which is all zeroes

impl Clone for Uuid

fn clone(&self) -> Uuid

Returns a copy of the UUID

impl FromStr for Uuid

fn from_str(us: &str) -> Option<Uuid>

Parse a hex string and interpret as a UUID

Accepted formats are a sequence of 32 hexadecimal characters, with or without hypens (grouped as 8, 4, 4, 4, 12).

impl Show for Uuid

Convert the UUID to a hexadecimal-based string representation

fn fmt(&self, f: &mut Formatter) -> Result

impl Eq for Uuid

Test two UUIDs for equality

UUIDs are equal only when they are byte-for-byte identical

fn eq(&self, other: &Uuid) -> bool

impl TotalEq for Uuid

impl<T: Encoder<E>, E> Encodable<T, E> for Uuid

fn encode(&self, e: &mut T) -> Result<(), E>

Encode a UUID as a hypenated string

impl<T: Decoder<E>, E> Decodable<T, E> for Uuid

fn decode(d: &mut T) -> Result<Uuid, E>

Decode a UUID from a string

impl Rand for Uuid

Generates a random instance of UUID (V4 conformant)

fn rand<R: Rng>(rng: &mut R) -> Uuid