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<MetadataResolver<[T]>>
type Resolver = VecResolver<MetadataResolver<[T]>>
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: ?Sized> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned where
T: Archive + Clone,
T::Archived: Deserialize<T, D>,
D: Fallible,
impl<'a, T, D: ?Sized> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned where
T: Archive + Clone,
T::Archived: Deserialize<T, D>,
D: Fallible,
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
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
D: Fallible + ?Sized,
F: ?Sized,
W: DeserializeWith<F, T, D>,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
D: Fallible + ?Sized,
F: ?Sized,
W: DeserializeWith<F, T, D>,