pub struct GUID { /* private fields */ }Expand description
A GUID backed by 16 byte array.
Implementations§
Source§impl GUID
impl GUID
Sourcepub const fn build_from_components(
d1: u32,
d2: u16,
d3: u16,
d4: &[u8; 8],
) -> Self
pub const fn build_from_components( d1: u32, d2: u16, d3: u16, d4: &[u8; 8], ) -> Self
Construct a GUID from components.
let guid = guid_create::GUID::build_from_components(
0x87935CDE,
0x7094,
0x4C2B,
&[ 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61 ]
);
assert_eq!(guid.data1(), 0x87935CDE);
assert_eq!(guid.data2(), 0x7094);
assert_eq!(guid.data3(), 0x4C2B);
assert_eq!(guid.data4(), [ 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61 ]);
assert_eq!(guid.to_string(), "87935CDE-7094-4C2B-A0F4-DD7D512DD261");Sourcepub const fn build_from_slice(data: &[u8; 16]) -> Self
pub const fn build_from_slice(data: &[u8; 16]) -> Self
Construct a GUID from 16 bytes.
let guid = guid_create::GUID::build_from_slice(&[
0x87, 0x93, 0x5C, 0xDE, 0x70, 0x94, 0x4C, 0x2B, 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D,
0xD2, 0x61,
]);
assert_eq!(guid.data1(), 0x87935CDE);
assert_eq!(guid.data2(), 0x7094);
assert_eq!(guid.data3(), 0x4C2B);
assert_eq!(
guid.data4(),
[0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61]
);
assert_eq!(guid.to_string(), "87935CDE-7094-4C2B-A0F4-DD7D512DD261");Sourcepub fn parse(guid: &str) -> Result<Self, ParseError>
pub fn parse(guid: &str) -> Result<Self, ParseError>
Construct a GUID from a string.
let guid = guid_create::GUID::parse("87935CDE-7094-4C2B-A0F4-DD7D512DD261").unwrap();
assert_eq!(guid.data1(), 0x87935CDE);
assert_eq!(guid.data2(), 0x7094);
assert_eq!(guid.data3(), 0x4C2B);
assert_eq!(guid.data4(), [ 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61 ]);
assert_eq!(guid.to_string(), "87935CDE-7094-4C2B-A0F4-DD7D512DD261");Sourcepub fn data1(&self) -> u32
pub fn data1(&self) -> u32
The first four bytes.
extern crate guid_create;
let guid = guid_create::GUID::build_from_components(
500,
600,
700,
&[ 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61 ]
);
assert_eq!(guid.data1(), 500);Sourcepub fn data2(&self) -> u16
pub fn data2(&self) -> u16
Bytes 5 and 6.
extern crate guid_create;
let guid = guid_create::GUID::build_from_components(
500,
600,
700,
&[ 0xA0, 0xF4, 0xDD, 0x7D, 0x51, 0x2D, 0xD2, 0x61 ]
);
assert_eq!(guid.data2(), 600);Trait Implementations§
Source§impl<'de> Deserialize<'de> for GUID
impl<'de> Deserialize<'de> for GUID
Source§fn deserialize<D>(deserializer: D) -> Result<GUID, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<GUID, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for GUID
impl Eq for GUID
impl Pod for GUID
impl StructuralPartialEq for GUID
Auto Trait Implementations§
impl Freeze for GUID
impl RefUnwindSafe for GUID
impl Send for GUID
impl Sync for GUID
impl Unpin for GUID
impl UnwindSafe for GUID
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.