[−][src]Trait rkyv::Unarchive
Converts a type back from its archived form.
This can be derived with Unarchive
.
Examples
use rkyv::{Aligned, Archive, ArchiveBuffer, Archived, archived_value, Unarchive, Write}; #[derive(Archive, Debug, PartialEq, Unarchive)] struct Test { int: u8, string: String, option: Option<Vec<i32>>, } let mut writer = ArchiveBuffer::new(Aligned([0u8; 256])); let value = Test { int: 42, string: "hello world".to_string(), option: Some(vec![1, 2, 3, 4]), }; let pos = writer.archive(&value) .expect("failed to archive test"); let buf = writer.into_inner(); let archived = unsafe { archived_value::<Test>(buf.as_ref(), pos) }; let unarchived = archived.unarchive(); assert_eq!(value, unarchived);
Required methods
Loading content...Implementations on Foreign Types
impl Unarchive<RangeFull> for RangeFull
[src]
impl Unarchive<()> for () where
(): Copy,
[src]
(): Copy,
impl Unarchive<bool> for bool where
bool: Copy,
[src]
bool: Copy,
impl Unarchive<i8> for i8 where
i8: Copy,
[src]
i8: Copy,
impl Unarchive<i16> for i16 where
i16: Copy,
[src]
i16: Copy,
impl Unarchive<i32> for i32 where
i32: Copy,
[src]
i32: Copy,
impl Unarchive<i64> for i64 where
i64: Copy,
[src]
i64: Copy,
impl Unarchive<i128> for i128 where
i128: Copy,
[src]
i128: Copy,
impl Unarchive<u8> for u8 where
u8: Copy,
[src]
u8: Copy,
impl Unarchive<u16> for u16 where
u16: Copy,
[src]
u16: Copy,
impl Unarchive<u32> for u32 where
u32: Copy,
[src]
u32: Copy,
impl Unarchive<u64> for u64 where
u64: Copy,
[src]
u64: Copy,
impl Unarchive<u128> for u128 where
u128: Copy,
[src]
u128: Copy,
impl Unarchive<f32> for f32 where
f32: Copy,
[src]
f32: Copy,
impl Unarchive<f64> for f64 where
f64: Copy,
[src]
f64: Copy,
impl Unarchive<char> for char where
char: Copy,
[src]
char: Copy,
impl Unarchive<NonZeroI8> for NonZeroI8 where
NonZeroI8: Copy,
[src]
NonZeroI8: Copy,
impl Unarchive<NonZeroI16> for NonZeroI16 where
NonZeroI16: Copy,
[src]
NonZeroI16: Copy,
pub fn unarchive(&self) -> NonZeroI16
[src]
impl Unarchive<NonZeroI32> for NonZeroI32 where
NonZeroI32: Copy,
[src]
NonZeroI32: Copy,
pub fn unarchive(&self) -> NonZeroI32
[src]
impl Unarchive<NonZeroI64> for NonZeroI64 where
NonZeroI64: Copy,
[src]
NonZeroI64: Copy,
pub fn unarchive(&self) -> NonZeroI64
[src]
impl Unarchive<NonZeroI128> for NonZeroI128 where
NonZeroI128: Copy,
[src]
NonZeroI128: Copy,
pub fn unarchive(&self) -> NonZeroI128
[src]
impl Unarchive<NonZeroU8> for NonZeroU8 where
NonZeroU8: Copy,
[src]
NonZeroU8: Copy,
impl Unarchive<NonZeroU16> for NonZeroU16 where
NonZeroU16: Copy,
[src]
NonZeroU16: Copy,
pub fn unarchive(&self) -> NonZeroU16
[src]
impl Unarchive<NonZeroU32> for NonZeroU32 where
NonZeroU32: Copy,
[src]
NonZeroU32: Copy,
pub fn unarchive(&self) -> NonZeroU32
[src]
impl Unarchive<NonZeroU64> for NonZeroU64 where
NonZeroU64: Copy,
[src]
NonZeroU64: Copy,
pub fn unarchive(&self) -> NonZeroU64
[src]
impl Unarchive<NonZeroU128> for NonZeroU128 where
NonZeroU128: Copy,
[src]
NonZeroU128: Copy,
pub fn unarchive(&self) -> NonZeroU128
[src]
impl Unarchive<AtomicBool> for AtomicBool
[src]
pub fn unarchive(&self) -> AtomicBool
[src]
impl Unarchive<AtomicI8> for AtomicI8
[src]
impl Unarchive<AtomicI16> for AtomicI16
[src]
impl Unarchive<AtomicI32> for AtomicI32
[src]
impl Unarchive<AtomicI64> for AtomicI64
[src]
impl Unarchive<AtomicU8> for AtomicU8
[src]
impl Unarchive<AtomicU16> for AtomicU16
[src]
impl Unarchive<AtomicU32> for AtomicU32
[src]
impl Unarchive<AtomicU64> for AtomicU64
[src]
impl<T11: Archive, T10: Archive, T9: Archive, T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T11::Archived, T10::Archived, T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T11::Archived: Unarchive<T11>,
T10::Archived: Unarchive<T10>,
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T11::Archived: Unarchive<T11>,
T10::Archived: Unarchive<T10>,
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T10: Archive, T9: Archive, T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T10::Archived, T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T10::Archived: Unarchive<T10>,
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T10::Archived: Unarchive<T10>,
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T9: Archive, T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T9::Archived: Unarchive<T9>,
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T8::Archived: Unarchive<T8>,
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T7, T6, T5, T4, T3, T2, T1, T0)> for (T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T7::Archived: Unarchive<T7>,
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T6, T5, T4, T3, T2, T1, T0)> for (T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T6::Archived: Unarchive<T6>,
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T5, T4, T3, T2, T1, T0)> for (T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T5::Archived: Unarchive<T5>,
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T4, T3, T2, T1, T0)> for (T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T4::Archived: Unarchive<T4>,
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T3: Archive, T2: Archive, T1: Archive, T0: Archive> Unarchive<(T3, T2, T1, T0)> for (T3::Archived, T2::Archived, T1::Archived, T0::Archived) where
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T3::Archived: Unarchive<T3>,
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T2: Archive, T1: Archive, T0: Archive> Unarchive<(T2, T1, T0)> for (T2::Archived, T1::Archived, T0::Archived) where
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T2::Archived: Unarchive<T2>,
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T1: Archive, T0: Archive> Unarchive<(T1, T0)> for (T1::Archived, T0::Archived) where
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
[src]
T1::Archived: Unarchive<T1>,
T0::Archived: Unarchive<T0>,
impl<T0: Archive> Unarchive<(T0,)> for (T0::Archived,) where
T0::Archived: Unarchive<T0>,
[src]
T0::Archived: Unarchive<T0>,
impl<T: Archive> Unarchive<[T; 31]> for [T::Archived; 31] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 30]> for [T::Archived; 30] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 29]> for [T::Archived; 29] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 28]> for [T::Archived; 28] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 27]> for [T::Archived; 27] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 26]> for [T::Archived; 26] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 25]> for [T::Archived; 25] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 24]> for [T::Archived; 24] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 23]> for [T::Archived; 23] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 22]> for [T::Archived; 22] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 21]> for [T::Archived; 21] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 20]> for [T::Archived; 20] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 19]> for [T::Archived; 19] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 18]> for [T::Archived; 18] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 17]> for [T::Archived; 17] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 16]> for [T::Archived; 16] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 15]> for [T::Archived; 15] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 14]> for [T::Archived; 14] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 13]> for [T::Archived; 13] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 12]> for [T::Archived; 12] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 11]> for [T::Archived; 11] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 10]> for [T::Archived; 10] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 9]> for [T::Archived; 9] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 8]> for [T::Archived; 8] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 7]> for [T::Archived; 7] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 6]> for [T::Archived; 6] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 5]> for [T::Archived; 5] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 4]> for [T::Archived; 4] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 3]> for [T::Archived; 3] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 2]> for [T::Archived; 2] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 1]> for [T::Archived; 1] where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<[T; 0]> for [T::Archived; 0] where
T::Archived: Unarchive<T>,
[src]
Loading content...T::Archived: Unarchive<T>,
Implementors
impl Unarchive<String> for Archived<String>
[src]
impl<K: Archive + Hash + Eq, V: Archive> Unarchive<HashMap<K, V, RandomState>> for Archived<HashMap<K, V>> where
K::Archived: Unarchive<K> + Hash + Eq,
V::Archived: Unarchive<V>,
[src]
K::Archived: Unarchive<K> + Hash + Eq,
V::Archived: Unarchive<V>,
impl<T: Archive> Unarchive<Option<T>> for Archived<Option<T>> where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<Vec<T, Global>> for Archived<Vec<T>> where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<Range<T>> for Archived<Range<T>> where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
impl<T: Archive> Unarchive<RangeInclusive<T>> for Archived<RangeInclusive<T>> where
T::Archived: Unarchive<T>,
[src]
T::Archived: Unarchive<T>,
pub fn unarchive(&self) -> RangeInclusive<T>
[src]
impl<T: ArchiveRef + ?Sized> Unarchive<Box<T, Global>> for Archived<Box<T>> where
Reference<T>: UnarchiveRef<T>,
[src]
Reference<T>: UnarchiveRef<T>,