Struct rkyv::rc::ArchivedRcWeak

source ·
pub struct ArchivedRcWeak<T: ArchivePointee + ?Sized, F> { /* private fields */ }
Expand description

An archived rc::Weak.

This is essentially just an optional ArchivedRc.

Implementations§

source§

impl<T: ArchivePointee + ?Sized, F> ArchivedRcWeak<T, F>

source

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.

source

pub fn upgrade_seal(this: Seal<'_, Self>) -> Option<Seal<'_, ArchivedRc<T, F>>>

Attempts to upgrade a sealed weak pointer.

source

pub fn resolve_from_ref<U: ArchiveUnsized<Archived = T> + ?Sized>( value: Option<&U>, resolver: RcWeakResolver, out: Place<Self>, )

Resolves an archived Weak from a given optional reference.

source

pub fn serialize_from_ref<U, S>( value: Option<&U>, serializer: &mut S, ) -> Result<RcWeakResolver, S::Error>
where U: SerializeUnsized<S, Archived = T> + ?Sized, S: Fallible + Writer + Sharing + ?Sized, S::Error: Source,

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>
where <__C as Fallible>::Error: Trace, ArchivedRcWeak<T, F>: Verify<__C>, RelPtr<T>: CheckBytes<__C>, PhantomData<F>: CheckBytes<__C>,

source§

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>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, ArcFlavor>

Available on target_has_atomic="ptr" and crate feature alloc only.
source§

fn deserialize(&self, deserializer: &mut D) -> Result<Weak<T>, D::Error>

Deserializes using the given deserializer
source§

impl<T, D> Deserialize<Weak<T>, D> for ArchivedRcWeak<T::Archived, RcFlavor>

Available on crate feature alloc only.
source§

fn deserialize(&self, deserializer: &mut D) -> Result<Weak<T>, D::Error>

Deserializes using the given deserializer
source§

impl<T, F, C> Verify<C> for ArchivedRcWeak<T, F>

Available on crate feature bytecheck only.
source§

fn verify(&self, context: &mut C) -> Result<(), C::Error>

Checks whether the invariants of this type are upheld by self.
source§

impl<T: ArchivePointee + ?Sized, F> Portable for ArchivedRcWeak<T, F>

Auto Trait Implementations§

§

impl<T, F> Freeze for ArchivedRcWeak<T, F>

§

impl<T, F> RefUnwindSafe for ArchivedRcWeak<T, F>

§

impl<T, F> Send for ArchivedRcWeak<T, F>
where F: Send, T: Send + ?Sized,

§

impl<T, F> Sync for ArchivedRcWeak<T, F>
where F: Sync, T: Sync + ?Sized,

§

impl<T, F> !Unpin for ArchivedRcWeak<T, F>

§

impl<T, F> UnwindSafe for ArchivedRcWeak<T, F>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> ArchivePointee for T

source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> LayoutRaw for T

source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
source§

impl<T> Pointee for T

source§

type Metadata = ()

The metadata type for pointers and references to this type.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.