Trait rkyv::de::SharedDeserializer[][src]

pub trait SharedDeserializer: Deserializer {
    fn deserialize_shared<T: ArchiveUnsized + ?Sized, P: SharedPointer + 'static, F: FnOnce(*mut T) -> P>(
        &mut self,
        value: &T::Archived,
        to_shared: F
    ) -> Result<*const T, Self::Error>
    where
        T::Archived: DeserializeUnsized<T, Self>
; }

A context that provides shared memory support.

Shared pointers require this kind of context to deserialize.

Required methods

fn deserialize_shared<T: ArchiveUnsized + ?Sized, P: SharedPointer + 'static, F: FnOnce(*mut T) -> P>(
    &mut self,
    value: &T::Archived,
    to_shared: F
) -> Result<*const T, Self::Error> where
    T::Archived: DeserializeUnsized<T, Self>, 
[src]

Checks whether the given reference has been deserialized and either uses the existing shared pointer to it, or deserializes it and converts it to a shared pointer with to_shared.

Loading content...

Implementors

impl<D: Deserializer> SharedDeserializer for SharedDeserializerAdapter<D>[src]

Loading content...