Skip to main content

SpecSerializerDps

Trait SpecSerializerDps 

Source
pub trait SpecSerializerDps {
    type SValue;

    // Required method
    spec fn spec_serialize_dps(&self, v: Self::SValue, obuf: Seq<u8>) -> Seq<u8>;
}
Expand description

Destination-passing style (DPS) serializer specification.

See crate::core::proof::EquivSerializers for its relationship to SpecSerializer.

Required Associated Types§

Source

type SValue

The type of values to be serialized.

Required Methods§

Source

spec fn spec_serialize_dps(&self, v: Self::SValue, obuf: Seq<u8>) -> Seq<u8>

Serializes v by prepending its encoding onto obuf.

Implementors§

Source§

impl SpecSerializerDps for BerEndFmt

Source§

impl SpecSerializerDps for Integer8Fmt

Source§

impl SpecSerializerDps for Integer16Fmt

Source§

impl SpecSerializerDps for BerLengthFmt

Source§

impl SpecSerializerDps for BmpStringFmt

Source§

impl SpecSerializerDps for EnumeratedFmt

Source§

type SValue = int

Source§

impl SpecSerializerDps for Ia5StringFmt

Source§

impl SpecSerializerDps for IntegerFmt

Source§

type SValue = int

Source§

impl SpecSerializerDps for ObjectIdentifierFmt

Source§

impl SpecSerializerDps for PrintableStringFmt

Source§

impl SpecSerializerDps for TagFmt

Source§

impl SpecSerializerDps for TeletexStringFmt

Source§

impl SpecSerializerDps for UniversalStringFmt

Source§

type SValue = Seq<char>

Source§

impl SpecSerializerDps for Utf8StringFmt

Source§

type SValue = Seq<char>

Source§

impl SpecSerializerDps for CborInitialFmt

Source§

impl SpecSerializerDps for Empty

Source§

impl SpecSerializerDps for Void

Source§

impl SpecSerializerDps for I8

Source§

impl SpecSerializerDps for I16Be

Source§

impl SpecSerializerDps for I16Le

Source§

impl SpecSerializerDps for I32Be

Source§

impl SpecSerializerDps for I32Le

Source§

impl SpecSerializerDps for I64Be

Source§

impl SpecSerializerDps for I64Le

Source§

impl SpecSerializerDps for Eof

Source§

impl SpecSerializerDps for Tail

Source§

type SValue = Seq<u8>

Source§

impl SpecSerializerDps for U8

Source§

impl SpecSerializerDps for U16Be

Source§

impl SpecSerializerDps for U16Le

Source§

impl SpecSerializerDps for U24Be

Source§

impl SpecSerializerDps for U24Le

Source§

impl SpecSerializerDps for U32Be

Source§

impl SpecSerializerDps for U32Le

Source§

impl SpecSerializerDps for U64Be

Source§

impl SpecSerializerDps for U64Le

Source§

impl<A> SpecSerializerDps for Opt<A>

Source§

impl<A> SpecSerializerDps for Star<A>

Source§

impl<A, B> SpecSerializerDps for Sum<A, B>

Source§

impl<A, B> SpecSerializerDps for Choice<A, B>

Source§

impl<A, B> SpecSerializerDps for PairRev<A, B>

Source§

impl<A, B> SpecSerializerDps for Bind<A, B>

Source§

impl<A, B> SpecSerializerDps for Pair<A, B>

Source§

impl<A, B, C> SpecSerializerDps for Permute3<A, B, C>

Source§

impl<A, B, C, D> SpecSerializerDps for Permute4<A, B, C, D>

Source§

impl<A, B, C, D, E> SpecSerializerDps for Permute5<A, B, C, D, E>

Source§

impl<A, B, const CHECK: bool> SpecSerializerDps for Preceded<A, A::SValue, B, CHECK>

Source§

impl<A, B, const CHECK: bool> SpecSerializerDps for Terminated<A, B, B::SValue, CHECK>

Source§

impl<A, Pred> SpecSerializerDps for Refined<A, Pred>
where A: SpecSerializerDps, Pred: SpecPred<A::SValue>,

Source§

impl<A, Then> SpecSerializerDps for AndThen<A, Then>
where A: SpecSerializerDps<SValue = Seq<u8>>, Then: SpecSerializerDps,

Source§

impl<A: SpecSerializerDps, B: SpecSerializerDps> SpecSerializerDps for Optional<A, B>

Source§

impl<A: SpecSerializerDps, B: SpecSerializerDps> SpecSerializerDps for Repeat<A, B>

Source§

impl<C: SpecCombinator> SpecSerializerDps for BerSequenceFmt<C>

Source§

impl<C: SpecCombinator> SpecSerializerDps for BerSequenceOfFmt<C>

Source§

type SValue = Seq<<C as SpecByteLen>::T>

Source§

impl<C: SpecCombinator, const LIMIT: usize> SpecSerializerDps for BerCharStringFmt<C, LIMIT>

Source§

impl<C: SpecSerializerDps> SpecSerializerDps for SetOfFmt<C>

Source§

impl<C: SpecSerializerDps> SpecSerializerDps for OptionalEnd<C>

Source§

impl<C: SpecSerializerDps> SpecSerializerDps for RepeatTillEnd<C>

Source§

impl<C: SpecSerializerDps, N: AsLen> SpecSerializerDps for RepeatN<C, N>

Source§

impl<Content: SpecCombinator, const DER: bool> SpecSerializerDps for ASN1Fmt<Content, DER>

Source§

type SValue = <Content as SpecParser>::PVal

Source§

impl<F> SpecSerializerDps for ImplicitlyTaggedFmt<F>

Source§

impl<Field, Rest, const DER: bool> SpecSerializerDps for DefaultedFmt<Field, Field::SValue, Rest, DER>
where Field: SpecByteLen + SpecSerializerDps<SValue = Field::T>, Rest: SpecByteLen + SpecSerializerDps<SValue = Rest::T>,

Source§

impl<Head, Tail> SpecSerializerDps for Implicit<Head, Tail>
where Head: SpecSerializerDps, Tail: DepCombinator<Key = Head::SValue>, Tail::Body: SpecSerializerDps<SValue = Tail::Val>,

Source§

type SValue = <Tail as DepCombinator>::Val

Source§

impl<Inner> SpecSerializerDps for Const<Inner, Inner::SValue>
where Inner: SpecSerializerDps,

Source§

impl<Inner, M> SpecSerializerDps for Mapped<Inner, M>
where Inner: SpecSerializerDps, M: SpecMapper<In = Inner::SValue>,

Source§

impl<Inner, M> SpecSerializerDps for TryMap<Inner, M>
where Inner: SpecSerializerDps, M: SpecMapper<In = Inner::SValue>,

Source§

impl<Inner, M, MRev> SpecSerializerDps for Mapped<Inner, BiMap<M, MRev>>
where Inner: SpecSerializerDps, M: SpecMap<Input = Inner::SValue>, MRev: SpecMap<Input = M::Output, Output = M::Input>,

Source§

impl<Inner: SpecSerializerDps> SpecSerializerDps for Cond<Inner>

Source§

impl<Inner: SpecSerializerDps> SpecSerializerDps for Named<Inner>

Source§

impl<Inner: SpecSerializerDps> SpecSerializerDps for Ref<Inner>

Source§

impl<Inner: SpecSerializerDps, Len: AsLen> SpecSerializerDps for ExactLen<Inner, Len>

Source§

impl<Inner: SpecSerializerDps, Out> SpecSerializerDps for Mapped<Inner, FnSpec<(Out,), Inner::SValue>>

Source§

type SValue = Out

Source§

impl<Len: AsLen> SpecSerializerDps for Varied<Len>

Source§

type SValue = Seq<u8>

Source§

impl<Of, Tg> SpecSerializerDps for SuffixTagged<Of, Tg, Tg::T>
where Tg: SpecByteLen + SpecSerializerDps<SValue = Tg::T>, Of: SpecSerializerDps,

Source§

impl<P1, P2> SpecSerializerDps for Permute2<P1, P2>

Source§

impl<Repr, Tuple, Nominal> SpecSerializerDps for Bits<Repr, Tuple, Nominal>
where Repr: SpecByteLen + SpecSerializerDps<SValue = Repr::T>,

Source§

type SValue = Nominal

Source§

impl<T> SpecSerializerDps for BundledSpecs<T>

Source§

impl<T> SpecSerializerDps for SerializerDPSFnSpec<T>

Source§

impl<T, C: SpecSerializerDps, const N: usize> SpecSerializerDps for Dispatch<T, C, N>

Source§

impl<Tg, Of> SpecSerializerDps for PrefixTagged<Tg, Tg::T, Of>
where Tg: SpecByteLen + SpecSerializerDps<SValue = Tg::T>, Of: SpecSerializerDps,

Source§

impl<const DER: bool> SpecSerializerDps for AnyFmt<DER>

Source§

impl<const DER: bool> SpecSerializerDps for BitStringFmt<DER>

Source§

impl<const DER: bool> SpecSerializerDps for BoolFmt<DER>

Source§

impl<const DER: bool> SpecSerializerDps for GeneralizedTimeFmt<DER>

Source§

impl<const DER: bool> SpecSerializerDps for LengthFmt<DER>

Source§

impl<const DER: bool> SpecSerializerDps for NatLengthFmt<DER>

Source§

type SValue = nat

Source§

impl<const DER: bool> SpecSerializerDps for RealFmt<DER>

Source§

type SValue = Seq<u8>

Source§

impl<const DER: bool> SpecSerializerDps for UtcTimeFmt<DER>

Source§

impl<const DET: bool> SpecSerializerDps for CborHeadFmt<DET>

Source§

impl<const DET: bool, const LIMIT: usize> SpecSerializerDps for CborFmt<DET, LIMIT>

Source§

impl<const LIMIT: usize> SpecSerializerDps for BerAnyFmt<LIMIT>

Source§

impl<const LIMIT: usize> SpecSerializerDps for BerBitStringFmt<LIMIT>

Source§

impl<const LIMIT: usize> SpecSerializerDps for BerOctetStringFmt<LIMIT>

Source§

type SValue = Seq<u8>

Source§

impl<const LIMIT: usize, Body, Param> SpecSerializerDps for FixWith<LIMIT, Body, Param>
where Body: SpecRecBody, Param: DeepView<V = Body::Param>,

Source§

type SValue = <Body as SpecRecBody>::T

Source§

impl<const MINIMAL: bool> SpecSerializerDps for Base128Fmt<MINIMAL>

Source§

impl<const MINIMAL: bool> SpecSerializerDps for VarInt<MINIMAL>

Source§

impl<const MINIMAL: bool, const N: usize> SpecSerializerDps for ULeb128<MINIMAL, N>

Source§

type SValue = nat

Source§

impl<const N: usize> SpecSerializerDps for Fixed<N>

Source§

type SValue = Seq<u8>

Source§

impl<const N: usize> SpecSerializerDps for Const<Fixed<N>, [u8; N]>

Source§

type SValue = Seq<u8>

Source§

impl<const N: usize, C: SpecSerializerDps> SpecSerializerDps for Array<N, C>

Source§

impl<const NONDETERMINISTIC: bool, A, B> SpecSerializerDps for Alt<A, B, NONDETERMINISTIC>
where A: SpecSerializerDps + Consistency<Val = A::SValue>, B: SpecSerializerDps<SValue = A::SValue> + Consistency<Val = B::SValue>,