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
sourceimpl Builder
impl Builder
sourcepub const fn from_bytes(b: Bytes) -> Self
pub const fn from_bytes(b: Bytes) -> Self
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);
sourcepub fn from_slice(b: &[u8]) -> Result<Self, Error>
pub fn from_slice(b: &[u8]) -> Result<Self, Error>
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());
sourcepub fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8]) -> Result<Self, Error>
pub fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8]) -> Result<Self, Error>
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());
sourcepub fn set_variant(&mut self, v: Variant) -> &mut Self
pub fn set_variant(&mut self, v: Variant) -> &mut Self
Specifies the variant of the UUID.
sourcepub fn set_version(&mut self, v: Version) -> &mut Self
pub fn set_version(&mut self, v: Version) -> &mut Self
Specifies the version number of the UUID.
Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more