pub struct Peek<'mem, 'facet, 'shape> { /* private fields */ }
Expand description
Lets you read from a value (implements read-only ValueVTable
proxies)
Implementations§
Source§impl<'mem, 'facet, 'shape> Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> Peek<'mem, 'facet, 'shape>
Sourcepub fn new<T: Facet<'facet> + ?Sized>(t: &'mem T) -> Self
pub fn new<T: Facet<'facet> + ?Sized>(t: &'mem T) -> Self
Creates a new PeekValue
instance for a value of type T
.
Sourcepub unsafe fn unchecked_new(
data: impl Into<GenericPtr<'mem>>,
shape: &'shape Shape<'shape>,
) -> Self
pub unsafe fn unchecked_new( data: impl Into<GenericPtr<'mem>>, shape: &'shape Shape<'shape>, ) -> Self
Creates a new PeekValue
instance without checking the type.
§Safety
This function is unsafe because it doesn’t check if the provided data and shape are compatible. The caller must ensure that the data is valid for the given shape.
Sourcepub fn vtable(&self) -> &'shape ValueVTable
pub fn vtable(&self) -> &'shape ValueVTable
Returns the vtable
Sourcepub fn id(&self) -> ValueId<'shape>
pub fn id(&self) -> ValueId<'shape>
Returns a unique identifier for this value, usable for cycle detection
Sourcepub fn ptr_eq(&self, other: &Peek<'_, '_, '_>) -> bool
pub fn ptr_eq(&self, other: &Peek<'_, '_, '_>) -> bool
Returns true if the two values are pointer-equal
Sourcepub fn partial_eq(&self, other: &Peek<'_, '_, '_>) -> Option<bool>
pub fn partial_eq(&self, other: &Peek<'_, '_, '_>) -> Option<bool>
Returns true if this scalar is equal to the other scalar
§Returns
false
if equality comparison is not supported for this scalar type
Sourcepub fn partial_cmp(&self, other: &Peek<'_, '_, '_>) -> Option<Option<Ordering>>
pub fn partial_cmp(&self, other: &Peek<'_, '_, '_>) -> Option<Option<Ordering>>
Compares this scalar with another and returns their ordering
§Returns
None
if comparison is not supported for this scalar type
Sourcepub fn type_name(&self, f: &mut Formatter<'_>, opts: TypeNameOpts) -> Result
pub fn type_name(&self, f: &mut Formatter<'_>, opts: TypeNameOpts) -> Result
Sourcepub const fn data(&self) -> GenericPtr<'mem>
pub const fn data(&self) -> GenericPtr<'mem>
Returns the data
Sourcepub fn scalar_type(&self) -> Option<ScalarType>
pub fn scalar_type(&self) -> Option<ScalarType>
Get the scalar type if set.
Sourcepub fn as_str(&self) -> Option<&'mem str>
pub fn as_str(&self) -> Option<&'mem str>
Try to get the value as a string if it’s a string type Returns None if the value is not a string or couldn’t be extracted
Sourcepub fn as_bytes(&self) -> Option<&'mem [u8]>
pub fn as_bytes(&self) -> Option<&'mem [u8]>
Try to get the value as a byte slice if it’s a &u8 type Returns None if the value is not a byte slice or couldn’t be extracted
Sourcepub fn into_struct(
self,
) -> Result<PeekStruct<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_struct( self, ) -> Result<PeekStruct<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a struct
Sourcepub fn into_enum(
self,
) -> Result<PeekEnum<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_enum( self, ) -> Result<PeekEnum<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as an enum
Sourcepub fn into_map(
self,
) -> Result<PeekMap<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_map( self, ) -> Result<PeekMap<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a map
Sourcepub fn into_list(
self,
) -> Result<PeekList<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_list( self, ) -> Result<PeekList<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a list
Sourcepub fn into_list_like(
self,
) -> Result<PeekListLike<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_list_like( self, ) -> Result<PeekListLike<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a list, array or slice
Sourcepub fn into_smart_pointer(
self,
) -> Result<PeekSmartPointer<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_smart_pointer( self, ) -> Result<PeekSmartPointer<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a smart pointer
Sourcepub fn into_option(
self,
) -> Result<PeekOption<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_option( self, ) -> Result<PeekOption<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as an option
Sourcepub fn into_tuple(
self,
) -> Result<PeekTuple<'mem, 'facet, 'shape>, ReflectError<'shape>>
pub fn into_tuple( self, ) -> Result<PeekTuple<'mem, 'facet, 'shape>, ReflectError<'shape>>
Tries to identify this value as a tuple
Sourcepub fn innermost_peek(self) -> Self
pub fn innermost_peek(self) -> Self
Tries to return the innermost value — useful for serialization. For example, we serialize a NonZero<u8>
the same
as a u8
. Similarly, we serialize a Utf8PathBuf
the same as a `String.
Returns a Peek
to the innermost value, unwrapping transparent wrappers recursively.
For example, this will peel through newtype wrappers or smart pointers that have an inner
.
Trait Implementations§
Source§impl<'mem, 'facet, 'shape> PartialOrd for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> PartialOrd for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> Copy for Peek<'mem, 'facet, 'shape>
Auto Trait Implementations§
impl<'mem, 'facet, 'shape> Freeze for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> RefUnwindSafe for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> !Send for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> !Sync for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> Unpin for Peek<'mem, 'facet, 'shape>
impl<'mem, 'facet, 'shape> UnwindSafe for Peek<'mem, 'facet, 'shape>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more