Enum rkyv::rc::ArchivedRcWeak
source · #[repr(u8)]pub enum ArchivedRcWeak<T: ArchivePointee + ?Sized, F> {
None,
Some(ArchivedRc<T, F>),
}
Expand description
An archived rc::Weak
.
This is essentially just an optional ArchivedRc
.
Variants§
Implementations§
source§impl<T: ArchivePointee + ?Sized, F> ArchivedRcWeak<T, F>
impl<T: ArchivePointee + ?Sized, F> ArchivedRcWeak<T, F>
sourcepub fn upgrade(&self) -> Option<&ArchivedRc<T, F>>
pub fn upgrade(&self) -> Option<&ArchivedRc<T, F>>
Attempts to upgrade the weak pointer to an ArchivedArc
.
Returns None
if a null weak pointer was serialized.
sourcepub fn upgrade_pin_mut(
self: Pin<&mut Self>
) -> Option<Pin<&mut ArchivedRc<T, F>>>
pub fn upgrade_pin_mut( self: Pin<&mut Self> ) -> Option<Pin<&mut ArchivedRc<T, F>>>
Attempts to upgrade a pinned mutable weak pointer.
sourcepub unsafe fn resolve_from_ref<U: ArchiveUnsized<Archived = T> + ?Sized>(
value: Option<&U>,
pos: usize,
resolver: RcWeakResolver,
out: *mut Self
)
pub unsafe fn resolve_from_ref<U: ArchiveUnsized<Archived = T> + ?Sized>( value: Option<&U>, pos: usize, resolver: RcWeakResolver, out: *mut Self )
Resolves an archived Weak
from a given optional reference.
§Safety
pos
must be the position ofout
within the archiveresolver
must be the result of serializingvalue
sourcepub fn serialize_from_ref<U, S>(
value: Option<&U>,
serializer: &mut S
) -> Result<RcWeakResolver, S::Error>
pub fn serialize_from_ref<U, S>( value: Option<&U>, serializer: &mut S ) -> Result<RcWeakResolver, S::Error>
Serializes an archived Weak
from a given optional reference.
Trait Implementations§
source§impl<T: ArchivePointee + ?Sized, F, __C: Fallible + ?Sized> CheckBytes<__C> for ArchivedRcWeak<T, F>
impl<T: ArchivePointee + ?Sized, F, __C: Fallible + ?Sized> CheckBytes<__C> for ArchivedRcWeak<T, F>
source§unsafe fn check_bytes(
value: *const Self,
context: &mut __C
) -> Result<(), <__C as Fallible>::Error>
unsafe fn check_bytes( value: *const Self, context: &mut __C ) -> Result<(), <__C as Fallible>::Error>
Checks whether the given pointer points to a valid value within the
given context. Read more
source§impl<T: ArchivePointee + Debug + ?Sized, F> Debug for ArchivedRcWeak<T, F>
impl<T: ArchivePointee + Debug + ?Sized, F> Debug for ArchivedRcWeak<T, F>
source§impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, ArcFlavor>
impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, ArcFlavor>
source§impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, RcFlavor>
impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, RcFlavor>
impl<T: ArchivePointee + ?Sized, F> Portable for ArchivedRcWeak<T, F>where
ArchivedRc<T, F>: Portable,
Auto Trait Implementations§
impl<T: ?Sized, F> Freeze for ArchivedRcWeak<T, F>
impl<T: ?Sized, F> RefUnwindSafe for ArchivedRcWeak<T, F>
impl<T: ?Sized, F> Send for ArchivedRcWeak<T, F>
impl<T: ?Sized, F> Sync for ArchivedRcWeak<T, F>
impl<T, F> !Unpin for ArchivedRcWeak<T, F>
impl<T: ?Sized, F> UnwindSafe for ArchivedRcWeak<T, F>
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.