#[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§
source§impl<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§
source§impl<T> Ord for Compact<T>where
T: From<Compact<T>> + Ord,
Compact<T>: From<T>,
impl<T> Ord for Compact<T>where
T: From<Compact<T>> + Ord,
Compact<T>: From<T>,
source§impl<T> PartialEq<Compact<T>> for Compact<T>where
T: From<Compact<T>> + PartialEq,
Compact<T>: From<T>,
impl<T> PartialEq<Compact<T>> for Compact<T>where
T: From<Compact<T>> + PartialEq,
Compact<T>: From<T>,
source§impl<T> PartialOrd<Compact<T>> for Compact<T>where
T: From<Compact<T>> + PartialOrd,
Compact<T>: From<T>,
impl<T> PartialOrd<Compact<T>> for Compact<T>where
T: From<Compact<T>> + PartialOrd,
Compact<T>: From<T>,
1.0.0 · source§fn 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