[][src]Trait rkyv::Resolve

pub trait Resolve<T: ?Sized> {
    type Archived;
    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.

Associated Types

type Archived

The type that this resolver resolves to.

Loading content...

Required methods

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

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

Loading content...

Implementations on Foreign Types

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 = ArchivedStrRef

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

type Archived = ArchivedSliceRef<T::Archived>

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

type Archived = ArchivedOption<T::Archived>

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

type Archived = RelPtr<T::Archived>

Loading content...

Implementors

impl<T: ArchiveSelf> Resolve<T> for SelfResolver[src]

type Archived = T

Loading content...