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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl SpecSerializerDps for BerEndFmt

Source§

impl SpecSerializerDps for BerLengthFmt

Source§

impl SpecSerializerDps for BmpStringFmt

Source§

impl SpecSerializerDps for CborInitialFmt

Source§

impl SpecSerializerDps for Empty

Source§

impl SpecSerializerDps for EnumeratedFmt

Source§

impl SpecSerializerDps for Eof

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 Ia5StringFmt

Source§

impl SpecSerializerDps for Integer8Fmt

Source§

impl SpecSerializerDps for Integer16Fmt

Source§

impl SpecSerializerDps for IntegerFmt

Source§

impl SpecSerializerDps for ObjectIdentifierFmt

Source§

impl SpecSerializerDps for PrintableStringFmt

Source§

impl SpecSerializerDps for TagFmt

Source§

impl SpecSerializerDps for Tail

Source§

impl SpecSerializerDps for TeletexStringFmt

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 SpecSerializerDps for UniversalStringFmt

Source§

impl SpecSerializerDps for Utf8StringFmt

Source§

impl SpecSerializerDps for Void

Source§

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

Source§

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

Source§

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

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, B> SpecSerializerDps for Bind<A, B>

Source§

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

Source§

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

Source§

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

Source§

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

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<A> SpecSerializerDps for Opt<A>

Source§

impl<A> SpecSerializerDps for Star<A>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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, 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, 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: 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<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 for Const<Inner, Inner::SValue>
where Inner: SpecSerializerDps,

Source§

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

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, C: SpecSerializerDps, const N: usize> SpecSerializerDps for Dispatch<T, C, N>

Source§

impl<T> SpecSerializerDps for BundledSpecs<T>

Source§

impl<T> SpecSerializerDps for SerializerDPSFnSpec<T>

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§

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

Source§

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

Source§

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

Source§

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

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 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§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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>,