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§
impl Copy for GUID
impl Eq 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