[go: up one dir, main page]

rkyv

Trait Portable

Source
pub unsafe trait Portable { }
Expand description

A type with a stable, well-defined layout that is the same on all targets.

§Safety

The implementing type must have a stable, well-defined layout that is the same on all targets. Structs and unions must be #[repr(transparent)] or #[repr(C)]. Enums must be #[repr(C)], #[repr(int)], or #[repr(C, int)].

The implementing type must not have interior mutability (i.e. no UnsafeCells).

Implementations on Foreign Types§

Source§

impl Portable for bool

Source§

impl Portable for i8

Source§

impl Portable for str

Source§

impl Portable for u8

Source§

impl Portable for ()

Source§

impl Portable for CStr

Source§

impl Portable for PhantomPinned

Source§

impl Portable for NonZeroI16_be

Source§

impl Portable for NonZeroI16_le

Source§

impl Portable for NonZeroI32_be

Source§

impl Portable for NonZeroI32_le

Source§

impl Portable for NonZeroI64_be

Source§

impl Portable for NonZeroI64_le

Source§

impl Portable for NonZeroI128_be

Source§

impl Portable for NonZeroI128_le

Source§

impl Portable for NonZeroU16_be

Source§

impl Portable for NonZeroU16_le

Source§

impl Portable for NonZeroU32_be

Source§

impl Portable for NonZeroU32_le

Source§

impl Portable for NonZeroU64_be

Source§

impl Portable for NonZeroU64_le

Source§

impl Portable for NonZeroU128_be

Source§

impl Portable for NonZeroU128_le

Source§

impl Portable for char_be

Source§

impl Portable for char_le

Source§

impl Portable for f32_be

Source§

impl Portable for f32_le

Source§

impl Portable for f64_be

Source§

impl Portable for f64_le

Source§

impl Portable for i16_be

Source§

impl Portable for i16_le

Source§

impl Portable for i32_be

Source§

impl Portable for i32_le

Source§

impl Portable for i64_be

Source§

impl Portable for i64_le

Source§

impl Portable for i128_be

Source§

impl Portable for i128_le

Source§

impl Portable for u16_be

Source§

impl Portable for u16_le

Source§

impl Portable for u32_be

Source§

impl Portable for u32_le

Source§

impl Portable for u64_be

Source§

impl Portable for u64_le

Source§

impl Portable for u128_be

Source§

impl Portable for u128_le

Source§

impl Portable for NonZeroI16_ube

Source§

impl Portable for NonZeroI16_ule

Source§

impl Portable for NonZeroI32_ube

Source§

impl Portable for NonZeroI32_ule

Source§

impl Portable for NonZeroI64_ube

Source§

impl Portable for NonZeroI64_ule

Source§

impl Portable for NonZeroI128_ube

Source§

impl Portable for NonZeroI128_ule

Source§

impl Portable for NonZeroU16_ube

Source§

impl Portable for NonZeroU16_ule

Source§

impl Portable for NonZeroU32_ube

Source§

impl Portable for NonZeroU32_ule

Source§

impl Portable for NonZeroU64_ube

Source§

impl Portable for NonZeroU64_ule

Source§

impl Portable for NonZeroU128_ube

Source§

impl Portable for NonZeroU128_ule

Source§

impl Portable for char_ube

Source§

impl Portable for char_ule

Source§

impl Portable for f32_ube

Source§

impl Portable for f32_ule

Source§

impl Portable for f64_ube

Source§

impl Portable for f64_ule

Source§

impl Portable for i16_ube

Source§

impl Portable for i16_ule

Source§

impl Portable for i32_ube

Source§

impl Portable for i32_ule

Source§

impl Portable for i64_ube

Source§

impl Portable for i64_ule

Source§

impl Portable for i128_ube

Source§

impl Portable for i128_ule

Source§

impl Portable for u16_ube

Source§

impl Portable for u16_ule

Source§

impl Portable for u32_ube

Source§

impl Portable for u32_ule

Source§

impl Portable for u64_ube

Source§

impl Portable for u64_ule

Source§

impl Portable for u128_ube

Source§

impl Portable for u128_ule

Source§

impl Portable for NonZeroI8

Source§

impl Portable for NonZeroU8

Source§

impl<T: Portable> Portable for [T]

Source§

impl<T: Portable> Portable for ManuallyDrop<T>

Source§

impl<T: Portable> Portable for MaybeUninit<T>

Source§

impl<T: Portable, const N: usize> Portable for [T; N]

Source§

impl<T: ?Sized> Portable for PhantomData<T>

Implementors§

Source§

impl Portable for ArchivedIpAddr

Source§

impl Portable for ArchivedSocketAddr

Source§

impl Portable for ArchivedCString

Source§

impl Portable for ArchivedIpv4Addr
where [u8; 4]: Portable,

Source§

impl Portable for ArchivedIpv6Addr
where [u8; 16]: Portable,

Source§

impl Portable for ArchivedSocketAddrV4

Source§

impl Portable for ArchivedSocketAddrV6

Source§

impl Portable for ArchivedOptionNonZeroI8

Source§

impl Portable for ArchivedOptionNonZeroI16

Source§

impl Portable for ArchivedOptionNonZeroI32

Source§

impl Portable for ArchivedOptionNonZeroI64

Source§

impl Portable for ArchivedOptionNonZeroI128

Source§

impl Portable for ArchivedOptionNonZeroU8

Source§

impl Portable for ArchivedOptionNonZeroU16

Source§

impl Portable for ArchivedOptionNonZeroU32

Source§

impl Portable for ArchivedOptionNonZeroU64

Source§

impl Portable for ArchivedOptionNonZeroU128

Source§

impl Portable for ArchivedRangeFull

Source§

impl Portable for ArchivedString

Source§

impl Portable for ArchivedDuration

Source§

impl Portable for ArchivedStringRepr
where OutOfLineRepr: Portable, InlineRepr: Portable,

Source§

impl<K, H> Portable for ArchivedIndexSet<K, H>

Source§

impl<K, H> Portable for ArchivedHashSet<K, H>
where ArchivedHashMap<K, (), H>: Portable,

Source§

impl<K, V> Portable for Entry<K, V>
where K: Portable, V: Portable,

Source§

impl<K, V, H> Portable for ArchivedIndexMap<K, V, H>

Source§

impl<K, V, H> Portable for ArchivedHashMap<K, V, H>

Source§

impl<K, V, const E: usize> Portable for ArchivedBTreeMap<K, V, E>

Source§

impl<K, const E: usize> Portable for ArchivedBTreeSet<K, E>

Source§

impl<O> Portable for RawRelPtr<O>

Source§

impl<T0> Portable for ArchivedTuple1<T0>
where T0: Portable,

Source§

impl<T0, T1> Portable for ArchivedTuple2<T0, T1>
where T0: Portable, T1: Portable,

Source§

impl<T0, T1, T2> Portable for ArchivedTuple3<T0, T1, T2>
where T0: Portable, T1: Portable, T2: Portable,

Source§

impl<T0, T1, T2, T3> Portable for ArchivedTuple4<T0, T1, T2, T3>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable,

Source§

impl<T0, T1, T2, T3, T4> Portable for ArchivedTuple5<T0, T1, T2, T3, T4>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5> Portable for ArchivedTuple6<T0, T1, T2, T3, T4, T5>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Portable for ArchivedTuple7<T0, T1, T2, T3, T4, T5, T6>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Portable for ArchivedTuple8<T0, T1, T2, T3, T4, T5, T6, T7>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Portable for ArchivedTuple9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable, T8: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Portable for ArchivedTuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable, T8: Portable, T9: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Portable for ArchivedTuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable, T8: Portable, T9: Portable, T10: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Portable for ArchivedTuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable, T8: Portable, T9: Portable, T10: Portable, T11: Portable,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Portable for ArchivedTuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
where T0: Portable, T1: Portable, T2: Portable, T3: Portable, T4: Portable, T5: Portable, T6: Portable, T7: Portable, T8: Portable, T9: Portable, T10: Portable, T11: Portable, T12: Portable,

Source§

impl<T> Portable for ArchivedBound<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedOption<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedHashTable<T>

Source§

impl<T> Portable for ArchivedRange<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedRangeFrom<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedRangeInclusive<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedRangeTo<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedRangeToInclusive<T>
where T: Portable,

Source§

impl<T> Portable for ArchivedVec<T>

Source§

impl<T, E> Portable for ArchivedResult<T, E>
where T: Portable, E: Portable,

Source§

impl<T, N: ?Sized> Portable for NichedOption<T, N>

Source§

impl<T: ArchivePointee + ?Sized> Portable for ArchivedBox<T>
where RelPtr<T>: Portable,

Source§

impl<T: ArchivePointee + ?Sized> Portable for ArchivedOptionBox<T>
where Repr<T>: Portable,

Source§

impl<T: ArchivePointee + ?Sized, F> Portable for ArchivedRc<T, F>

Source§

impl<T: ArchivePointee + ?Sized, F> Portable for ArchivedRcWeak<T, F>

Source§

impl<T: ArchivePointee + ?Sized, O> Portable for RelPtr<T, O>