Struct rkyv_test::boxed::ArchivedBox
source · [−]#[repr(transparent)]pub struct ArchivedBox<T: ArchivePointee + ?Sized>(_);
Implementations
sourceimpl<T: ArchivePointee + ?Sized> ArchivedBox<T>
impl<T: ArchivePointee + ?Sized> ArchivedBox<T>
sourcepub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut T>
pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut T>
Returns a pinned mutable reference to the value of this archived box
sourcepub unsafe fn resolve_from_ref<U: ArchiveUnsized<Archived = T> + ?Sized>(
value: &U,
pos: usize,
resolver: BoxResolver<U::MetadataResolver>,
out: *mut Self
)
pub unsafe fn resolve_from_ref<U: ArchiveUnsized<Archived = T> + ?Sized>(
value: &U,
pos: usize,
resolver: BoxResolver<U::MetadataResolver>,
out: *mut Self
)
Resolves an archived box from the given value and parameters.
Safety
pos
must be the position ofout
within the archiveresolver
must be the result of serializingvalue
sourcepub fn serialize_from_ref<U, S>(
value: &U,
serializer: &mut S
) -> Result<BoxResolver<U::MetadataResolver>, S::Error>where
U: SerializeUnsized<S, Archived = T> + ?Sized,
S: Fallible + ?Sized,
pub fn serialize_from_ref<U, S>(
value: &U,
serializer: &mut S
) -> Result<BoxResolver<U::MetadataResolver>, S::Error>where
U: SerializeUnsized<S, Archived = T> + ?Sized,
S: Fallible + ?Sized,
Serializes an archived box from the given value and serializer.
sourceimpl<T> ArchivedBox<[T]>
impl<T> ArchivedBox<[T]>
sourcepub unsafe fn serialize_copy_from_slice<U, S>(
slice: &[U],
serializer: &mut S
) -> Result<BoxResolver<MetadataResolver<[U]>>, S::Error>where
U: Serialize<S, Archived = T>,
S: Serializer + ?Sized,
pub unsafe fn serialize_copy_from_slice<U, S>(
slice: &[U],
serializer: &mut S
) -> Result<BoxResolver<MetadataResolver<[U]>>, S::Error>where
U: Serialize<S, Archived = T>,
S: Serializer + ?Sized,
Serializes an archived Box
from a given slice by directly copying bytes.
Safety
The type being serialized must be copy-safe. Copy-safe types must be trivially copyable (have the same archived and unarchived representations) and contain no padding bytes. In situations where copying uninitialized bytes the output is acceptable, this function may be used with types that contain padding bytes.
Trait Implementations
sourceimpl<T: ArchivePointee + ?Sized> AsRef<T> for ArchivedBox<T>
impl<T: ArchivePointee + ?Sized> AsRef<T> for ArchivedBox<T>
sourceimpl<T: ArchivePointee + ?Sized> Borrow<T> for ArchivedBox<T>
impl<T: ArchivePointee + ?Sized> Borrow<T> for ArchivedBox<T>
sourceimpl<T, C> CheckBytes<C> for ArchivedBox<T>where
T: ArchivePointee + CheckBytes<C> + LayoutRaw + Pointee + ?Sized,
C: ArchiveContext + ?Sized,
T::ArchivedMetadata: CheckBytes<C>,
C::Error: Error,
impl<T, C> CheckBytes<C> for ArchivedBox<T>where
T: ArchivePointee + CheckBytes<C> + LayoutRaw + Pointee + ?Sized,
C: ArchiveContext + ?Sized,
T::ArchivedMetadata: CheckBytes<C>,
C::Error: Error,
type Error = OwnedPointerError<<<T as ArchivePointee>::ArchivedMetadata as CheckBytes<C>>::Error, <T as CheckBytes<C>>::Error, <C as Fallible>::Error>
type Error = OwnedPointerError<<<T as ArchivePointee>::ArchivedMetadata as CheckBytes<C>>::Error, <T as CheckBytes<C>>::Error, <C as Fallible>::Error>
The error that may result from checking the type.
sourceunsafe fn check_bytes<'a>(
value: *const Self,
context: &mut C
) -> Result<&'a Self, Self::Error>
unsafe fn check_bytes<'a>(
value: *const Self,
context: &mut C
) -> Result<&'a Self, Self::Error>
Checks whether the given pointer points to a valid value within the given context. Read more
sourceimpl<T: ArchivePointee + ?Sized> Debug for ArchivedBox<T>where
T::ArchivedMetadata: Debug,
impl<T: ArchivePointee + ?Sized> Debug for ArchivedBox<T>where
T::ArchivedMetadata: Debug,
sourceimpl<T: ArchivePointee + ?Sized> Deref for ArchivedBox<T>
impl<T: ArchivePointee + ?Sized> Deref for ArchivedBox<T>
sourceimpl<T, D> Deserialize<Box<T, Global>, D> for ArchivedBox<T::Archived>where
T: ArchiveUnsized + ?Sized,
T::Archived: DeserializeUnsized<T, D>,
D: Fallible + ?Sized,
impl<T, D> Deserialize<Box<T, Global>, D> for ArchivedBox<T::Archived>where
T: ArchiveUnsized + ?Sized,
T::Archived: DeserializeUnsized<T, D>,
D: Fallible + ?Sized,
sourceimpl<F: Archive, D: Fallible + ?Sized> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBoxwhere
F::Archived: Deserialize<F, D>,
impl<F: Archive, D: Fallible + ?Sized> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBoxwhere
F::Archived: Deserialize<F, D>,
sourcefn 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.
sourceimpl<T, D> DeserializeWith<ArchivedBox<[<T as Archive>::Archived]>, Box<[T], Global>, D> for CopyOptimizewhere
T: Archive,
T::Archived: Deserialize<T, D>,
D: Fallible + ?Sized,
impl<T, D> DeserializeWith<ArchivedBox<[<T as Archive>::Archived]>, Box<[T], Global>, D> for CopyOptimizewhere
T: Archive,
T::Archived: Deserialize<T, D>,
D: Fallible + ?Sized,
sourcefn deserialize_with(
field: &ArchivedBox<[T::Archived]>,
_: &mut D
) -> Result<Box<[T]>, D::Error>
fn deserialize_with(
field: &ArchivedBox<[T::Archived]>,
_: &mut D
) -> Result<Box<[T]>, D::Error>
Deserializes the field type F
using the given deserializer.
sourceimpl<T: ArchivePointee + Display + ?Sized> Display for ArchivedBox<T>
impl<T: ArchivePointee + Display + ?Sized> Display for ArchivedBox<T>
sourceimpl<T: ArchivePointee + Hash + ?Sized> Hash for ArchivedBox<T>
impl<T: ArchivePointee + Hash + ?Sized> Hash for ArchivedBox<T>
sourceimpl<T: ArchivePointee + Ord + ?Sized> Ord for ArchivedBox<T>
impl<T: ArchivePointee + Ord + ?Sized> Ord for ArchivedBox<T>
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<T: ArchivePointee + PartialEq<U> + ?Sized, U: ArchivePointee + ?Sized> PartialEq<ArchivedBox<U>> for ArchivedBox<T>
impl<T: ArchivePointee + PartialEq<U> + ?Sized, U: ArchivePointee + ?Sized> PartialEq<ArchivedBox<U>> for ArchivedBox<T>
sourcefn eq(&self, other: &ArchivedBox<U>) -> bool
fn eq(&self, other: &ArchivedBox<U>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourceimpl<T: ArchivePointee + PartialEq<U> + ?Sized, U: ?Sized> PartialEq<Box<U, Global>> for ArchivedBox<T>
impl<T: ArchivePointee + PartialEq<U> + ?Sized, U: ?Sized> PartialEq<Box<U, Global>> for ArchivedBox<T>
sourceimpl<T: ArchivePointee + PartialOrd + ?Sized> PartialOrd<ArchivedBox<T>> for ArchivedBox<T>
impl<T: ArchivePointee + PartialOrd + ?Sized> PartialOrd<ArchivedBox<T>> for ArchivedBox<T>
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<T: ArchivePointee + PartialOrd<U> + ?Sized, U: ?Sized> PartialOrd<Box<U, Global>> for ArchivedBox<T>
impl<T: ArchivePointee + PartialOrd<U> + ?Sized, U: ?Sized> PartialOrd<Box<U, Global>> for ArchivedBox<T>
sourcefn partial_cmp(&self, other: &Box<U>) -> Option<Ordering>
fn partial_cmp(&self, other: &Box<U>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<T: ArchivePointee + ?Sized> Pointer for ArchivedBox<T>
impl<T: ArchivePointee + ?Sized> Pointer for ArchivedBox<T>
impl<T: ArchivePointee + Eq + ?Sized> Eq for ArchivedBox<T>
Auto Trait Implementations
impl<T: ?Sized> RefUnwindSafe for ArchivedBox<T>where
T: RefUnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: RefUnwindSafe,
impl<T: ?Sized> Send for ArchivedBox<T>where
T: Send,
<T as ArchivePointee>::ArchivedMetadata: Send,
impl<T: ?Sized> Sync for ArchivedBox<T>where
T: Sync,
<T as ArchivePointee>::ArchivedMetadata: Sync,
impl<T> !Unpin for ArchivedBox<T>
impl<T: ?Sized> UnwindSafe for ArchivedBox<T>where
T: UnwindSafe,
<T as ArchivePointee>::ArchivedMetadata: UnwindSafe,
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn 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.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more