pub struct AsBox;
Expand description
A wrapper that serializes a field into a box.
This functions similarly to InlineAsBox
, but is for regular fields
instead of references.
§Example
use rkyv::{with::AsBox, Archive};
#[derive(Archive)]
struct Example {
#[rkyv(with = AsBox)]
a: i32,
#[rkyv(with = AsBox)]
b: str,
}
Trait Implementations§
Source§impl<F: ArchiveUnsized + ?Sized> ArchiveWith<F> for AsBox
impl<F: ArchiveUnsized + ?Sized> ArchiveWith<F> for AsBox
Source§type Archived = ArchivedBox<<F as ArchiveUnsized>::Archived>
type Archived = ArchivedBox<<F as ArchiveUnsized>::Archived>
The archived type of
Self
with F
.Source§type Resolver = BoxResolver
type Resolver = BoxResolver
The resolver of a
Self
with F
.Source§impl<F, D> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBox
impl<F, D> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBox
Source§fn deserialize_with(
field: &ArchivedBox<F::Archived>,
deserializer: &mut D,
) -> Result<F, D::Error>
fn deserialize_with( field: &ArchivedBox<F::Archived>, deserializer: &mut D, ) -> Result<F, D::Error>
Deserializes the field type
F
using the given deserializer.Auto Trait Implementations§
impl Freeze for AsBox
impl RefUnwindSafe for AsBox
impl Send for AsBox
impl Sync for AsBox
impl Unpin for AsBox
impl UnwindSafe for AsBox
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.