pub struct Id(_);
Methods from Deref<Target = Uuid>
sourcepub fn to_hyphenated_ref(&self) -> HyphenatedRef<'_>
pub fn to_hyphenated_ref(&self) -> HyphenatedRef<'_>
Creates a HyphenatedRef
instance from a Uuid
reference.
sourcepub fn to_simple_ref(&self) -> SimpleRef<'_>
pub fn to_simple_ref(&self) -> SimpleRef<'_>
sourcepub fn to_urn_ref(&self) -> UrnRef<'_>
pub fn to_urn_ref(&self) -> UrnRef<'_>
pub const NAMESPACE_DNS: Uuid = Uuid([107, 167, 184, 16, 157, 173, 17, 209, 128, 180, 0, 192, 79, 212, 48, 200])
pub const NAMESPACE_OID: Uuid = Uuid([107, 167, 184, 18, 157, 173, 17, 209, 128, 180, 0, 192, 79, 212, 48, 200])
pub const NAMESPACE_URL: Uuid = Uuid([107, 167, 184, 17, 157, 173, 17, 209, 128, 180, 0, 192, 79, 212, 48, 200])
pub const NAMESPACE_X500: Uuid = Uuid([107, 167, 184, 20, 157, 173, 17, 209, 128, 180, 0, 192, 79, 212, 48, 200])
sourcepub fn get_variant(&self) -> Option<Variant>
pub fn get_variant(&self) -> Option<Variant>
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.
sourcepub fn get_version_num(&self) -> usize
pub 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.
sourcepub fn get_version(&self) -> Option<Version>
pub fn get_version(&self) -> Option<Version>
Returns the version of the Uuid
.
This represents the algorithm used to generate the contents
sourcepub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
pub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
Returns the four field values of the UUID in big-endian order.
These values can be passed to the from_fields()
method to get the
original Uuid
back.
- The first field value represents the first group of (eight) hex
digits, taken as a big-endian
u32
value. For V1 UUIDs, this field represents the low 32 bits of the timestamp. - The second field value represents the second group of (four) hex
digits, taken as a big-endian
u16
value. For V1 UUIDs, this field represents the middle 16 bits of the timestamp. - The third field value represents the third group of (four) hex digits,
taken as a big-endian
u16
value. The 4 most significant bits give the UUID version, and for V1 UUIDs, the last 12 bits represent the high 12 bits of the timestamp. - The last field value represents the last two groups of four and twelve hex digits, taken in order. The first 1-3 bits of this indicate the UUID variant, and for V1 UUIDs, the next 13-15 bits indicate the clock sequence and the last 48 bits indicate the node ID.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.as_fields(), (0, 0, 0, &[0u8; 8]));
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap();
assert_eq!(
uuid.as_fields(),
(
0x936DA01F,
0x9ABD,
0x4D9D,
b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8"
)
);
sourcepub fn to_fields_le(&self) -> (u32, u16, u16, &[u8; 8])
pub fn to_fields_le(&self) -> (u32, u16, u16, &[u8; 8])
Returns the four field values of the UUID in little-endian order.
The bytes in the returned integer fields will be converted from big-endian order.
Examples
use uuid::Uuid;
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap();
assert_eq!(
uuid.to_fields_le(),
(
0x1FA06D93,
0xBD9A,
0x9D4D,
b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8"
)
);
sourcepub fn as_bytes(&self) -> &[u8; 16]
pub fn as_bytes(&self) -> &[u8; 16]
Returns an array of 16 octets containing the UUID data.
This method wraps Uuid::as_bytes
sourcepub fn to_timestamp(&self) -> Option<(u64, u16)>
pub fn to_timestamp(&self) -> Option<(u64, u16)>
Returns an Optional Tuple of (u64, u16) representing the timestamp and counter portion of a V1 UUID. If the supplied UUID is not V1, this will return None
Trait Implementations
sourceimpl Ord for Id
impl Ord for Id
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<Id> for Id
impl PartialOrd<Id> for Id
sourcefn partial_cmp(&self, other: &Id) -> Option<Ordering>
fn partial_cmp(&self, other: &Id) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more