logo
pub struct Builder(_);
Expand description

A builder struct for creating a UUID.

Examples

Creating a v4 UUID from externally generated bytes:

use uuid::{Builder, Variant, Version};

let random_bytes = rng();
let uuid = Builder::from_bytes(random_bytes)
    .set_variant(Variant::RFC4122)
    .set_version(Version::Random)
    .build();

Implementations

Creates a Builder using the supplied big-endian bytes.

Examples

Basic usage:

let bytes: uuid::Bytes = [
    70, 235, 208, 238, 14, 109, 67, 201, 185, 13, 204, 195, 90, 145, 63, 62,
];

let mut builder = uuid::Builder::from_bytes(bytes);
let uuid = builder.build().to_hyphenated().to_string();

let expected_uuid = String::from("46ebd0ee-0e6d-43c9-b90d-ccc35a913f3e");

assert_eq!(expected_uuid, uuid);

An incorrect number of bytes:

let bytes: uuid::Bytes = [4, 54, 67, 12, 43, 2, 98, 76]; // doesn't compile

let uuid = uuid::Builder::from_bytes(bytes);

Creates a Builder using the supplied big-endian bytes.

Errors

This function will return an error if b has any length other than 16.

Examples

Basic usage:

let bytes = [4, 54, 67, 12, 43, 2, 98, 76, 32, 50, 87, 5, 1, 33, 43, 87];

let builder = uuid::Builder::from_slice(&bytes);
let uuid =
    builder.map(|mut builder| builder.build().to_hyphenated().to_string());

let expected_uuid =
    Ok(String::from("0436430c-2b02-624c-2032-570501212b57"));

assert_eq!(expected_uuid, uuid);

An incorrect number of bytes:

let bytes = [4, 54, 67, 12, 43, 2, 98, 76];

let builder = uuid::Builder::from_slice(&bytes);

assert!(builder.is_err());

Creates a Builder from four big-endian field values.

Errors

This function will return an error if d4’s length is not 8 bytes.

Examples

Basic usage:

let d4 = [12, 3, 9, 56, 54, 43, 8, 9];

let builder = uuid::Builder::from_fields(42, 12, 5, &d4);
let uuid =
    builder.map(|mut builder| builder.build().to_hyphenated().to_string());

let expected_uuid =
    Ok(String::from("0000002a-000c-0005-0c03-0938362b0809"));

assert_eq!(expected_uuid, uuid);

An invalid length:

let d4 = [12];

let builder = uuid::Builder::from_fields(42, 12, 5, &d4);

assert!(builder.is_err());

Creates a Builder from a big-endian 128bit value.

Creates a Builder with an initial Uuid::nil.

Examples

Basic usage:

use uuid::Builder;

let mut builder = Builder::nil();

assert_eq!(
    builder.build().to_hyphenated().to_string(),
    "00000000-0000-0000-0000-000000000000"
);

Specifies the variant of the UUID.

Specifies the version number of the UUID.

Hands over the internal constructed Uuid.

Examples

Basic usage:

use uuid::Builder;

let uuid = Builder::nil().build();

assert_eq!(
    uuid.to_hyphenated().to_string(),
    "00000000-0000-0000-0000-000000000000"
);

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.