Struct uuid::Uuid [] [src]

pub struct Uuid {
    // some fields omitted
}

A Universally Unique Identifier (UUID)

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) -> usize

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_string(&self) -> String

Returns the UUID as a string of 32 hexadecimal digits

Example: 936DA01F9ABD4d9d80C702AF85C822A8

fn to_hyphenated_string(&self) -> String

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

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

fn to_urn_string(&self) -> String

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_str(input: &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 Hash for Uuid

fn hash<S: Hasher>(&self, state: &mut S)

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

impl Default for Uuid

fn default() -> Uuid

impl FromStr for Uuid

type Err = ParseError

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

impl Debug for Uuid

Convert the UUID to a hexadecimal-based string representation wrapped in Uuid()

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

impl Display for Uuid

Convert the UUID to a hexadecimal-based string representation

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

impl PartialEq for Uuid

Test two UUIDs for equality

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

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

fn ne(&self, other: &Rhs) -> bool

impl Eq for Uuid

impl Encodable for Uuid

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

impl Decodable for Uuid

fn decode<D: Decoder>(d: &mut D) -> Result<Uuid, D::Error>

impl Rand for Uuid

Generates a random instance of UUID (V4 conformant)

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

Derived Implementations

impl Clone for Uuid

fn clone(&self) -> Uuid

fn clone_from(&mut self, source: &Self)

impl Copy for Uuid