[][src]Trait rkyv::Resolve

pub trait Resolve<T: ?Sized> {
    type Archived;
    pub fn resolve(self, pos: usize, value: &T) -> Self::Archived;
}

Creates an archived value when given a value and position.

Resolvers are passed the original value, so any information that is already in them doesn't have to be stored in the resolver.

See Archive for an example of how to use Resolve.

Associated Types

type Archived[src]

The type that this resolver resolves to.

Loading content...

Required methods

pub fn resolve(self, pos: usize, value: &T) -> Self::Archived[src]

Creates the archived version of the given value at the given position.

Loading content...

Implementations on Foreign Types

impl<T: Archive> Resolve<Range<T>> for Range<T::Resolver>[src]

type Archived = ArchivedRange<T::Archived>

impl<T: Archive> Resolve<RangeInclusive<T>> for Range<T::Resolver>[src]

type Archived = ArchivedRangeInclusive<T::Archived>

impl<T: Archive> Resolve<T> for usize[src]

type Archived = ArchivedRef<T::Archived>

impl<T: Archive> Resolve<[T]> for usize[src]

type Archived = ArchivedSlice<T::Archived>

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> Resolve<(T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T11::Resolver, T10::Resolver, T9::Resolver, T8::Resolver, T7::Resolver, T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T11::Archived, T10::Archived, T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T10: Archive, T9: Archive, T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T10::Resolver, T9::Resolver, T8::Resolver, T7::Resolver, T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T10::Archived, T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T9: Archive, T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T9::Resolver, T8::Resolver, T7::Resolver, T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T9::Archived, T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T8: Archive, T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T8, T7, T6, T5, T4, T3, T2, T1, T0)> for (T8::Resolver, T7::Resolver, T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T8::Archived, T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T7: Archive, T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T7, T6, T5, T4, T3, T2, T1, T0)> for (T7::Resolver, T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T7::Archived, T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T6: Archive, T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T6, T5, T4, T3, T2, T1, T0)> for (T6::Resolver, T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T6::Archived, T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T5: Archive, T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T5, T4, T3, T2, T1, T0)> for (T5::Resolver, T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T5::Archived, T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T4: Archive, T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T4, T3, T2, T1, T0)> for (T4::Resolver, T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T4::Archived, T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T3: Archive, T2: Archive, T1: Archive, T0: Archive> Resolve<(T3, T2, T1, T0)> for (T3::Resolver, T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T3::Archived, T2::Archived, T1::Archived, T0::Archived)

impl<T2: Archive, T1: Archive, T0: Archive> Resolve<(T2, T1, T0)> for (T2::Resolver, T1::Resolver, T0::Resolver)[src]

type Archived = (T2::Archived, T1::Archived, T0::Archived)

impl<T1: Archive, T0: Archive> Resolve<(T1, T0)> for (T1::Resolver, T0::Resolver)[src]

type Archived = (T1::Archived, T0::Archived)

impl<T0: Archive> Resolve<(T0,)> for (T0::Resolver,)[src]

type Archived = (T0::Archived,)

impl<T: Archive> Resolve<[T; 31]> for [T::Resolver; 31][src]

type Archived = [T::Archived; 31]

impl<T: Archive> Resolve<[T; 30]> for [T::Resolver; 30][src]

type Archived = [T::Archived; 30]

impl<T: Archive> Resolve<[T; 29]> for [T::Resolver; 29][src]

type Archived = [T::Archived; 29]

impl<T: Archive> Resolve<[T; 28]> for [T::Resolver; 28][src]

type Archived = [T::Archived; 28]

impl<T: Archive> Resolve<[T; 27]> for [T::Resolver; 27][src]

type Archived = [T::Archived; 27]

impl<T: Archive> Resolve<[T; 26]> for [T::Resolver; 26][src]

type Archived = [T::Archived; 26]

impl<T: Archive> Resolve<[T; 25]> for [T::Resolver; 25][src]

type Archived = [T::Archived; 25]

impl<T: Archive> Resolve<[T; 24]> for [T::Resolver; 24][src]

type Archived = [T::Archived; 24]

impl<T: Archive> Resolve<[T; 23]> for [T::Resolver; 23][src]

type Archived = [T::Archived; 23]

impl<T: Archive> Resolve<[T; 22]> for [T::Resolver; 22][src]

type Archived = [T::Archived; 22]

impl<T: Archive> Resolve<[T; 21]> for [T::Resolver; 21][src]

type Archived = [T::Archived; 21]

impl<T: Archive> Resolve<[T; 20]> for [T::Resolver; 20][src]

type Archived = [T::Archived; 20]

impl<T: Archive> Resolve<[T; 19]> for [T::Resolver; 19][src]

type Archived = [T::Archived; 19]

impl<T: Archive> Resolve<[T; 18]> for [T::Resolver; 18][src]

type Archived = [T::Archived; 18]

impl<T: Archive> Resolve<[T; 17]> for [T::Resolver; 17][src]

type Archived = [T::Archived; 17]

impl<T: Archive> Resolve<[T; 16]> for [T::Resolver; 16][src]

type Archived = [T::Archived; 16]

impl<T: Archive> Resolve<[T; 15]> for [T::Resolver; 15][src]

type Archived = [T::Archived; 15]

impl<T: Archive> Resolve<[T; 14]> for [T::Resolver; 14][src]

type Archived = [T::Archived; 14]

impl<T: Archive> Resolve<[T; 13]> for [T::Resolver; 13][src]

type Archived = [T::Archived; 13]

impl<T: Archive> Resolve<[T; 12]> for [T::Resolver; 12][src]

type Archived = [T::Archived; 12]

impl<T: Archive> Resolve<[T; 11]> for [T::Resolver; 11][src]

type Archived = [T::Archived; 11]

impl<T: Archive> Resolve<[T; 10]> for [T::Resolver; 10][src]

type Archived = [T::Archived; 10]

impl<T: Archive> Resolve<[T; 9]> for [T::Resolver; 9][src]

type Archived = [T::Archived; 9]

impl<T: Archive> Resolve<[T; 8]> for [T::Resolver; 8][src]

type Archived = [T::Archived; 8]

impl<T: Archive> Resolve<[T; 7]> for [T::Resolver; 7][src]

type Archived = [T::Archived; 7]

impl<T: Archive> Resolve<[T; 6]> for [T::Resolver; 6][src]

type Archived = [T::Archived; 6]

impl<T: Archive> Resolve<[T; 5]> for [T::Resolver; 5][src]

type Archived = [T::Archived; 5]

impl<T: Archive> Resolve<[T; 4]> for [T::Resolver; 4][src]

type Archived = [T::Archived; 4]

impl<T: Archive> Resolve<[T; 3]> for [T::Resolver; 3][src]

type Archived = [T::Archived; 3]

impl<T: Archive> Resolve<[T; 2]> for [T::Resolver; 2][src]

type Archived = [T::Archived; 2]

impl<T: Archive> Resolve<[T; 1]> for [T::Resolver; 1][src]

type Archived = [T::Archived; 1]

impl<T: Archive> Resolve<[T; 0]> for [T::Resolver; 0][src]

type Archived = [T::Archived; 0]

impl Resolve<str> for usize[src]

type Archived = ArchivedStringSlice

impl<T: Archive> Resolve<Option<T>> for Option<T::Resolver>[src]

type Archived = ArchivedOption<T::Archived>

Loading content...

Implementors

impl Resolve<AtomicBool> for AtomicResolver[src]

type Archived = AtomicBool

impl Resolve<AtomicI8> for AtomicResolver[src]

type Archived = AtomicI8

impl Resolve<AtomicI16> for AtomicResolver[src]

type Archived = AtomicI16

impl Resolve<AtomicI32> for AtomicResolver[src]

type Archived = AtomicI32

impl Resolve<AtomicI64> for AtomicResolver[src]

type Archived = AtomicI64

impl Resolve<AtomicU8> for AtomicResolver[src]

type Archived = AtomicU8

impl Resolve<AtomicU16> for AtomicResolver[src]

type Archived = AtomicU16

impl Resolve<AtomicU32> for AtomicResolver[src]

type Archived = AtomicU32

impl Resolve<AtomicU64> for AtomicResolver[src]

type Archived = AtomicU64

impl<K: Archive + Hash + Eq> Resolve<HashSet<K, RandomState>> for ArchivedHashSetResolver where
    K::Archived: Hash + Eq
[src]

type Archived = ArchivedHashSet<K::Archived>

impl<K: Archive + Hash + Eq, V: Archive> Resolve<HashMap<K, V, RandomState>> for ArchivedHashMapResolver[src]

type Archived = ArchivedHashMap<K::Archived, V::Archived>

impl<T: ArchiveCopy> Resolve<T> for CopyResolver[src]

type Archived = T

Loading content...