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]
&self,
deserializer: &mut D
) -> Result<*mut (), D::Error>
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]
&self,
deserializer: &mut D
) -> Result<T::Metadata, D::Error>
Deserializes the metadata for the given type.
Implementations on Foreign Types
impl<T: Deserialize<U, D>, U: Archive<Archived = T>, D: Deserializer + ?Sized> DeserializeUnsized<[U], D> for [T]
[src]
unsafe fn deserialize_unsized(
&self,
deserializer: &mut D
) -> Result<*mut (), D::Error>
[src]
&self,
deserializer: &mut D
) -> Result<*mut (), D::Error>
fn deserialize_metadata(
&self,
_: &mut D
) -> Result<<[U] as Pointee>::Metadata, D::Error>
[src]
&self,
_: &mut D
) -> Result<<[U] as Pointee>::Metadata, D::Error>
impl<D: Deserializer + ?Sized> DeserializeUnsized<str, D> for <str as ArchiveUnsized>::Archived
[src]
unsafe fn deserialize_unsized(
&self,
deserializer: &mut D
) -> Result<*mut (), D::Error>
[src]
&self,
deserializer: &mut D
) -> Result<*mut (), D::Error>
fn deserialize_metadata(
&self,
_: &mut D
) -> Result<<str as Pointee>::Metadata, D::Error>
[src]
&self,
_: &mut D
) -> Result<<str as Pointee>::Metadata, D::Error>
Implementors
impl<T: Archive, D: Deserializer + ?Sized> DeserializeUnsized<T, D> for T::Archived where
T::Archived: Deserialize<T, D>,
[src]
T::Archived: Deserialize<T, D>,