Enum rkyv::std_impl::shared::ArchivedArcWeak [−][src]
#[repr(u8)] pub enum ArchivedArcWeak<T: ArchivePointee + ?Sized> { None, Some(ArchivedArc<T>), }
An archived sync::Weak
.
Variants
A null weak pointer
Some(ArchivedArc<T>)
A weak pointer to some shared pointer
Implementations
impl<T: ArchivePointee + ?Sized> ArchivedArcWeak<T>
[src]
impl<T: ArchivePointee + ?Sized> ArchivedArcWeak<T>
[src]pub fn upgrade(&self) -> Option<&ArchivedArc<T>>
[src]
Attempts to upgrade the weak pointer to an ArchivedArc
.
Returns None
if a null weak pointer was serialized.
pub fn upgrade_pin(self: Pin<&mut Self>) -> Option<Pin<&mut ArchivedArc<T>>>
[src]
Attempts to upgrade a pinned mutable weak pointer.
Trait Implementations
impl<T: ArchivePointee + CheckBytes<C> + Pointee + ?Sized + 'static, C: ArchiveBoundsContext + SharedArchiveContext + ?Sized> CheckBytes<C> for ArchivedArcWeak<T> where
T::ArchivedMetadata: CheckBytes<C>,
C::Error: Error,
<T as Pointee>::Metadata: LayoutMetadata<T>,
[src]
impl<T: ArchivePointee + CheckBytes<C> + Pointee + ?Sized + 'static, C: ArchiveBoundsContext + SharedArchiveContext + ?Sized> CheckBytes<C> for ArchivedArcWeak<T> where
T::ArchivedMetadata: CheckBytes<C>,
C::Error: Error,
<T as Pointee>::Metadata: LayoutMetadata<T>,
[src]type Error = WeakPointerError<<T::ArchivedMetadata as CheckBytes<C>>::Error, T::Error, C::Error>
The error that may result from checking the type.
unsafe fn check_bytes<'a>(
value: *const Self,
context: &mut C
) -> Result<&'a Self, Self::Error>
[src]
value: *const Self,
context: &mut C
) -> Result<&'a Self, Self::Error>
Auto Trait Implementations
impl<T: ?Sized> RefUnwindSafe for ArchivedArcWeak<T> where
T: RefUnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: RefUnwindSafe,
impl<T: ?Sized> RefUnwindSafe for ArchivedArcWeak<T> where
T: RefUnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: RefUnwindSafe,
impl<T: ?Sized> Send for ArchivedArcWeak<T> where
T: Send,
<T as ArchivePointee>::ArchivedMetadata: Send,
impl<T: ?Sized> Send for ArchivedArcWeak<T> where
T: Send,
<T as ArchivePointee>::ArchivedMetadata: Send,
impl<T: ?Sized> Sync for ArchivedArcWeak<T> where
T: Sync,
<T as ArchivePointee>::ArchivedMetadata: Sync,
impl<T: ?Sized> Sync for ArchivedArcWeak<T> where
T: Sync,
<T as ArchivePointee>::ArchivedMetadata: Sync,
impl<T> !Unpin for ArchivedArcWeak<T>
impl<T> !Unpin for ArchivedArcWeak<T>
impl<T: ?Sized> UnwindSafe for ArchivedArcWeak<T> where
T: UnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: UnwindSafe,
impl<T: ?Sized> UnwindSafe for ArchivedArcWeak<T> where
T: UnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: UnwindSafe,
Blanket Implementations
impl<T> ArchivePointee for T
[src]
impl<T> ArchivePointee for T
[src]type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
[src]
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata