Trait rkyv::DeserializeUnsized[][src]

pub trait DeserializeUnsized<T: ArchiveUnsized<Archived = Self> + ?Sized, D: Fallible + ?Sized>: ArchivePointee {
    unsafe fn deserialize_unsized(
        &self,
        deserializer: &mut D
    ) -> Result<*mut (), D::Error>;
fn deserialize_metadata(
        &self,
        deserializer: &mut D
    ) -> Result<T::Metadata, D::Error>; }

A counterpart of Deserialize that’s suitable for unsized types.

Most types that implement DeserializeUnsized will need a Deserializer bound so that they can allocate memory.

Required methods

unsafe fn deserialize_unsized(
    &self,
    deserializer: &mut D
) -> Result<*mut (), D::Error>
[src]

Deserializes a reference to the given value.

Safety

The caller must guarantee that the memory returned is properly deallocated.

fn deserialize_metadata(
    &self,
    deserializer: &mut D
) -> Result<T::Metadata, D::Error>
[src]

Deserializes the metadata for the given type.

Loading content...

Implementations on Foreign Types

impl<T: Deserialize<U, D>, U: Archive<Archived = T>, D: Deserializer + ?Sized> DeserializeUnsized<[U], D> for [T][src]

impl<D: Deserializer + ?Sized> DeserializeUnsized<str, D> for <str as ArchiveUnsized>::Archived[src]

Loading content...

Implementors

impl<T: Archive, D: Deserializer + ?Sized> DeserializeUnsized<T, D> for T::Archived where
    T::Archived: Deserialize<T, D>, 
[src]

Loading content...