Trait rkyv::with::SerializeWith

source ·
pub trait SerializeWith<F: ?Sized, S: Fallible + ?Sized>: ArchiveWith<F> {
    // Required method
    fn serialize_with(
        field: &F,
        serializer: &mut S
    ) -> Result<Self::Resolver, S::Error>;
}
Expand description

A variant of Serialize that works with With wrappers.

Required Methods§

source

fn serialize_with( field: &F, serializer: &mut S ) -> Result<Self::Resolver, S::Error>

Serializes the field type F using the given serializer.

Implementors§

source§

impl<'a, F: Serialize<S> + Clone, S: Fallible + ?Sized> SerializeWith<Cow<'a, F>, S> for AsOwned

source§

impl<'a, S: Serializer + ?Sized> SerializeWith<Cow<'a, str>, S> for AsOwned

source§

impl<'a, S: Serializer + ?Sized> SerializeWith<Cow<'a, CStr>, S> for AsOwned

source§

impl<'a, T, S> SerializeWith<With<&'a [T], RefAsBox>, S> for CopyOptimizewhere T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<'a, T: Serialize<S> + Clone, S: ScratchSpace + Serializer + ?Sized> SerializeWith<Cow<'a, [T]>, S> for AsOwned

source§

impl<A, O, S> SerializeWith<Option<O>, S> for Map<A>where S: Fallible + ?Sized, A: ArchiveWith<O> + SerializeWith<O, S>,

source§

impl<A, O, S> SerializeWith<Vec<O, Global>, S> for Map<A>where S: Fallible + ScratchSpace + Serializer + ?Sized, A: ArchiveWith<O> + SerializeWith<O, S>,

source§

impl<F, S: Fallible + ?Sized> SerializeWith<F, S> for Skip

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<&F, S> for Inline

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<Cell<F>, S> for Unsafe

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<UnsafeCell<F>, S> for Unsafe

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<Mutex<F>, S> for Lockwhere S::Error: From<LockError>,

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<RwLock<F>, S> for Lockwhere S::Error: From<LockError>,

source§

impl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<&F, S> for RefAsBox

source§

impl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<F, S> for AsBox

source§

impl<K, V, S> SerializeWith<BTreeMap<K, V, Global>, S> for AsVecwhere K: Serialize<S>, V: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<K, V, S> SerializeWith<HashMap<K, V, RandomState>, S> for AsVecwhere K: Serialize<S>, V: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroI8>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroI16>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroI32>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroI64>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroI128>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroIsize>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroU8>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroU16>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroU32>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroU64>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroU128>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZeroUsize>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicBool, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI8, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI16, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI32, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI64, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicIsize, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU8, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU16, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU32, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU64, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicUsize, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<OsString, S> for AsStringwhere S::Error: From<AsStringError>, str: SerializeUnsized<S>,

source§

impl<S: Fallible + ?Sized> SerializeWith<PathBuf, S> for AsStringwhere S::Error: From<AsStringError>, str: SerializeUnsized<S>,

source§

impl<S: Fallible + ?Sized> SerializeWith<SystemTime, S> for UnixTimestampwhere S::Error: From<UnixTimestampError>,

source§

impl<T, S> SerializeWith<Option<Box<T, Global>>, S> for Nichewhere T: SerializeUnsized<S> + ?Sized, S: Serializer + ?Sized, ArchivedMetadata<T>: Default,

source§

impl<T, S> SerializeWith<Box<[T], Global>, S> for CopyOptimizewhere T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<BTreeSet<T, Global>, S> for AsVecwhere T: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<T, S> SerializeWith<Vec<T, Global>, S> for CopyOptimizewhere T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<Vec<T, Global>, S> for Rawwhere T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<HashSet<T, RandomState>, S> for AsVecwhere T: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,