pub struct ID(_);
Expand description
An identifier for an HLC (MAX_SIZE bytes maximum).
This struct has a constant memory size (holding internally a [u8; MAX_SIZE]
+ a NonZeroU8
),
allowing allocations on the stack for better performances.
Examples
use std::convert::TryFrom;
use uhlc::ID;
let buf = [0x1a, 0x2b, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
let id = ID::try_from(&buf[..3]).unwrap();
assert_eq!(id.size(), 3);
assert_eq!(id.as_slice(), &[0x1a, 0x2b, 0x3c]);
assert_eq!(id.to_string(), "1A2B3C".to_string());
use uhlc::ID;
use uuid::Uuid;
let id = ID::from(Uuid::new_v4());
assert_eq!(id.size(), 16);
Implementations
Trait Implementations
sourceimpl<'de> Deserialize<'de> for ID
impl<'de> Deserialize<'de> for ID
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for ID
impl Ord for ID
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialOrd<ID> for ID
impl PartialOrd<ID> for ID
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for ID
impl Eq for ID
impl StructuralEq for ID
impl StructuralPartialEq for ID
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more