Struct uuid::builder::Builder[][src]

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

impl Builder[src]

pub fn from_bytes(b: Bytes) -> Self[src]

Creates a Builder using the supplied big-endian bytes.

Examples

Basic usage:

use uuid::Builder;
use uuid::Bytes;

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

let mut builder = 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:

use uuid::Builder;
use uuid::Bytes;

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

let uuid = Builder::from_bytes(bytes);

pub fn from_slice(b: &[u8]) -> Result<Self, BytesError>[src]

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:

use uuid::Builder;

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

let builder = 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:

use uuid::prelude::*;
use uuid::Builder;

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

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

assert!(builder.is_err());

pub fn from_fields(
    d1: u32,
    d2: u16,
    d3: u16,
    d4: &[u8]
) -> Result<Self, BytesError>
[src]

Creates a Builder from four field values.

Errors

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

Examples

Basic usage:

use uuid::Builder;

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

let builder = 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:

use uuid::prelude::*;

let d4 = [12];

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

assert!(builder.is_err());

pub fn nil() -> Self[src]

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"
);

pub fn set_variant(&mut self, v: Variant) -> &mut Self[src]

Specifies the variant of the internal Uuid.

pub fn set_version(&mut self, v: Version) -> &mut Self[src]

Specifies the version number of the internal Uuid.

pub fn build(&mut self) -> Uuid[src]

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

impl Debug for Builder[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Builder

impl Send for Builder

impl Sync for Builder

impl Unpin for Builder

impl UnwindSafe for Builder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.