Struct rkyv::with::AsOwned [−][src]
pub struct AsOwned;Expand description
A wrapper that serializes a Cow as if it were owned.
Example
use std::borrow::Cow;
use rkyv::{Archive, with::AsOwned};
#[derive(Archive)]
struct Example<'a> {
#[with(AsOwned)]
a: Cow<'a, str>,
}Trait Implementations
type Archived = ArchivedVec<T::Archived>
type Archived = ArchivedVec<T::Archived>
The archived type of a With<F, Self>.
type Resolver = VecResolver
type Resolver = VecResolver
The resolver of a With<F, Self>.
type Archived = ArchivedCString
type Archived = ArchivedCString
The archived type of a With<F, Self>.
type Resolver = CStringResolver
type Resolver = CStringResolver
The resolver of a With<F, Self>.
type Archived = ArchivedString
type Archived = ArchivedString
The archived type of a With<F, Self>.
type Resolver = StringResolver
type Resolver = StringResolver
The resolver of a With<F, Self>.
fn deserialize_with(
field: &ArchivedCString,
deserializer: &mut D
) -> Result<Cow<'a, CStr>, D::Error>
fn deserialize_with(
field: &ArchivedCString,
deserializer: &mut D
) -> Result<Cow<'a, CStr>, D::Error>
Deserializes the field type F using the given deserializer.
fn deserialize_with(
field: &ArchivedString,
deserializer: &mut D
) -> Result<Cow<'a, str>, D::Error>
fn deserialize_with(
field: &ArchivedString,
deserializer: &mut D
) -> Result<Cow<'a, str>, D::Error>
Deserializes the field type F using the given deserializer.
impl<'a, T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned where
T: Archive + Clone,
T::Archived: Deserialize<T, D>,
D: Fallible + ?Sized,
impl<'a, T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned where
T: Archive + Clone,
T::Archived: Deserialize<T, D>,
D: Fallible + ?Sized,
fn deserialize_with(
field: &ArchivedVec<T::Archived>,
deserializer: &mut D
) -> Result<Cow<'a, [T]>, D::Error>
fn deserialize_with(
field: &ArchivedVec<T::Archived>,
deserializer: &mut D
) -> Result<Cow<'a, [T]>, D::Error>
Deserializes the field type F using the given deserializer.
impl<'a, T: Serialize<S> + Clone, S: ScratchSpace + Serializer + ?Sized> SerializeWith<Cow<'a, [T]>, S> for AsOwned
impl<'a, T: Serialize<S> + Clone, S: ScratchSpace + Serializer + ?Sized> SerializeWith<Cow<'a, [T]>, S> for AsOwned
Auto Trait Implementations
impl RefUnwindSafe for AsOwned
impl UnwindSafe for AsOwned
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more