#[repr(transparent)]pub struct Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,{ /* private fields */ }Expand description
The compact representation of T. Only one pointer wide.
Implementations
sourceimpl<T> Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
impl<T> Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
sourcepub fn map_ref<U>(&self, func: impl FnOnce(&T) -> U) -> U
pub fn map_ref<U>(&self, func: impl FnOnce(&T) -> U) -> U
Examples
let mut foo: Compact<_> = Foo::A(&1).into();
foo.map_ref(|f: &Foo| println!("{f:?}"));sourcepub fn map_ref_mut<U>(&mut self, func: impl FnOnce(&mut T) -> U) -> U
pub fn map_ref_mut<U>(&mut self, func: impl FnOnce(&mut T) -> U) -> U
Examples
let mut foo: Compact<_> = Foo::A(&1).into();
foo.map_ref_mut(|f: &mut Foo| println!("{f:?}"));Trait Implementations
sourceimpl<T: Ord> Ord for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
impl<T: Ord> Ord for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
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>,
Restrict a value to a certain interval. Read more
sourceimpl<T: PartialEq> PartialEq<Compact<T>> for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
impl<T: PartialEq> PartialEq<Compact<T>> for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
sourceimpl<T: PartialOrd> PartialOrd<Compact<T>> for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
impl<T: PartialOrd> PartialOrd<Compact<T>> for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
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 moreimpl<T: Eq> Eq for Compact<T>where
T: From<Compact<T>>,
Compact<T>: From<T>,
Auto Trait Implementations
impl<T> RefUnwindSafe for Compact<T>where
T: RefUnwindSafe,
impl<T> !Send for Compact<T>
impl<T> !Sync for Compact<T>
impl<T> Unpin for Compact<T>where
T: Unpin,
impl<T> UnwindSafe for Compact<T>where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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