Struct extra::uuid::Uuid

pub struct Uuid {
    bytes: UuidBytes,
}

A Universally Unique Identifier (UUID)

Methods

impl Uuid

fn new_nil() -> Uuid

Returns a nil or empty UUID (containing all zeroes)

fn new(v: UuidVersion) -> std::option::Option

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]) -> std::option::Option

Creates a UUID using the supplied bytes

Arguments

  • b An array or slice of 16 bytes

fn get_variant(&self) -> std::option::Option

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) -> std::option::Option

Returns the version of the UUID

This represents the algorithm used to generate the contents

fn to_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 hypen

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) -> std::result::Result

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.

Trait Implementations

impl std::default::Default for Uuid

fn default() -> Uuid

Returns the nil UUID, which is all zeroes

impl std::num::Zero for Uuid

fn zero() -> Uuid

Returns the nil UUID, which is all zeroes

fn is_zero(&self) -> bool

Tests if the UUID is nil or all zeroes

impl std::clone::Clone for Uuid

fn clone(&self) -> Uuid

Returns a copy of the UUID

impl std::from_str::FromStr for Uuid

fn from_str(us: &str) -> std::option::Option

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 std::to_str::ToStr for Uuid

fn to_str(&self) -> ~str

impl std::cmp::Eq for Uuid

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

impl std::cmp::TotalEq for Uuid

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

impl std::rand::Rand for Uuid

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