Trait SpecCombinator

Source
pub trait SpecCombinator {
    type SpecResult;
}
Expand description

Specification for parser and serializer Combinators. All Vest combinators must implement this trait.

Required Associated Types§

Implementations on Foreign Types§

Source§

impl<C> SpecCombinator for &C
where C: SpecCombinator,

Source§

impl<Fst, Snd> SpecCombinator for (Fst, Snd)

Implementors§

Source§

impl SpecCombinator for ASN1Tag

Source§

impl SpecCombinator for Base128UInt

Source§

impl SpecCombinator for BigInt

Source§

impl SpecCombinator for BitString

Source§

impl SpecCombinator for Boolean

Source§

impl SpecCombinator for GeneralizedTime

Source§

impl SpecCombinator for GeneralizedTimeInner

Source§

impl SpecCombinator for IA5String

Source§

impl SpecCombinator for Integer

Source§

impl SpecCombinator for Length

Source§

impl SpecCombinator for Null

Source§

impl SpecCombinator for ObjectIdentifier

Source§

impl SpecCombinator for OctetString

Source§

impl SpecCombinator for PrintableString

Source§

impl SpecCombinator for UTCTime

Source§

impl SpecCombinator for UTCTimeInner

Source§

impl SpecCombinator for UTF8String

Source§

impl SpecCombinator for VarInt

Source§

impl SpecCombinator for VarUInt

Source§

impl SpecCombinator for Base64

Source§

impl SpecCombinator for Bytes

Source§

impl SpecCombinator for End

Source§

impl SpecCombinator for Fail

Source§

impl SpecCombinator for Tail

Source§

impl SpecCombinator for U8

Source§

impl SpecCombinator for U16

Source§

impl SpecCombinator for U32

Source§

impl SpecCombinator for U64

Source§

impl SpecCombinator for Unreachable

Source§

impl SpecCombinator for AccessDescription

Source§

impl SpecCombinator for AlgorithmIdentifier

Source§

type SpecResult = AlgorithmIdentifierPoly<Seq<u64>, PolyType<<<OrdChoice<ASN1<Null>, End> as View>::V as SpecCombinator>::SpecResult, <<OrdChoice<ASN1<Null>, End> as View>::V as SpecCombinator>::SpecResult, <<OrdChoice<ASN1<Null>, End> as View>::V as SpecCombinator>::SpecResult, <<OrdChoice<ASN1<Null>, End> as View>::V as SpecCombinator>::SpecResult, <<OrdChoice<ASN1<DSAParam>, End> as View>::V as SpecCombinator>::SpecResult, <<End as View>::V as SpecCombinator>::SpecResult, <<End as View>::V as SpecCombinator>::SpecResult, <<End as View>::V as SpecCombinator>::SpecResult, <<End as View>::V as SpecCombinator>::SpecResult, <<OrdChoice<ASN1<Null>, End> as View>::V as SpecCombinator>::SpecResult, <<ASN1<ObjectIdentifier> as View>::V as SpecCombinator>::SpecResult, <<Tail as View>::V as SpecCombinator>::SpecResult>>

Source§

impl SpecCombinator for AttributeTypeAndValue

Source§

impl SpecCombinator for AuthorityInfoAccess

Source§

impl SpecCombinator for AuthorityKeyIdentifier

Source§

impl SpecCombinator for BasicConstraints

Source§

type SpecResult = PolyType<<<ASN1<Boolean> as View>::V as SpecCombinator>::SpecResult, <<ASN1<Integer> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for Certificate

Source§

impl SpecCombinator for CertificateInner

Source§

impl SpecCombinator for CertificatePolicies

Source§

impl SpecCombinator for DSAParam

Source§

type SpecResult = PolyType<<<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult, <<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult, <<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for DigestInfo

Source§

impl SpecCombinator for DirectoryString

Source§

impl SpecCombinator for ECDSASigValue

Source§

type SpecResult = PolyType<<<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult, <<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for ExtendedKeyUsage

Source§

impl SpecCombinator for Extension

Source§

impl SpecCombinator for Extensions

Source§

impl SpecCombinator for GeneralName

Source§

impl SpecCombinator for GeneralNames

Source§

impl SpecCombinator for GeneralSubtree

Source§

impl SpecCombinator for GeneralSubtrees

Source§

impl SpecCombinator for Name

Source§

type SpecResult = Seq<<<ASN1<RDN> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for NameConstraints

Source§

impl SpecCombinator for PolicyInfo

Source§

impl SpecCombinator for PublicKeyInfo

Source§

impl SpecCombinator for RDN

Source§

impl SpecCombinator for RSAParam

Source§

type SpecResult = PolyType<<<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult, <<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for RSAPublicKey

Source§

type SpecResult = PolyType<<<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult, <<ASN1<BigInt> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for TBSCertificate

Source§

impl SpecCombinator for Time

Source§

type SpecResult = PolyType<<<ASN1<UTCTime> as View>::V as SpecCombinator>::SpecResult, <<ASN1<GeneralizedTime> as View>::V as SpecCombinator>::SpecResult>

Source§

impl SpecCombinator for Validity

Source§

type SpecResult = PolyType<<<Time as View>::V as SpecCombinator>::SpecResult, <<Time as View>::V as SpecCombinator>::SpecResult>

Source§

impl<C1, C2> SpecCombinator for Default<C1::SpecResult, C1, C2>

Source§

impl<C1, C2> SpecCombinator for Optional<C1, C2>

Source§

impl<C1, C2> SpecCombinator for Pair<C1, C2>

Source§

impl<C> SpecCombinator for vest::regular::repeat::Repeat<C>

Source§

impl<C: SecureSpecCombinator + SpecCombinator> SpecCombinator for SequenceOf<C>

Source§

impl<C: SpecCombinator + SecureSpecCombinator> SpecCombinator for verdict_parser::Repeat<C>

Source§

impl<Fst, Snd> SpecCombinator for vest::regular::depend::SpecDepend<Fst, Snd>

Source§

impl<Fst, Snd> SpecCombinator for OrdChoice<Fst, Snd>
where Fst: SpecCombinator, Snd: SpecCombinator + DisjointFrom<Fst>,

Source§

impl<Fst, Snd> SpecCombinator for Preceded<Fst, Snd>
where Fst: SecureSpecCombinator<SpecResult = ()>, Snd: SpecCombinator,

Source§

impl<Fst, Snd> SpecCombinator for verdict_parser::SpecDepend<Fst, Snd>

Source§

impl<Inner> SpecCombinator for Cond<Inner>
where Inner: SpecCombinator,

Source§

impl<Inner, M> SpecCombinator for Mapped<Inner, M>
where Inner: SpecCombinator, M: SpecIso<Src = <Inner as SpecCombinator>::SpecResult>, <Inner as SpecCombinator>::SpecResult: SpecFrom<<M as SpecIso>::Dst>, <M as SpecIso>::Dst: SpecFrom<<Inner as SpecCombinator>::SpecResult>,

Source§

impl<Inner, M> SpecCombinator for TryMap<Inner, M>

Source§

impl<Inner, P> SpecCombinator for Refined<Inner, P>
where Inner: SpecCombinator, P: SpecPred<Input = <Inner as SpecCombinator>::SpecResult>,

Source§

impl<Inner, T> SpecCombinator for Tag<Inner, T>
where Inner: SpecCombinator<SpecResult = T>,

Source§

impl<Next> SpecCombinator for AndThen<Bytes, Next>
where Next: SpecCombinator,

Source§

impl<T> SpecCombinator for BuilderCombinator<T>
where T: Builder,

Source§

impl<T: ASN1Tagged + SpecCombinator> SpecCombinator for ASN1<T>

Source§

impl<T: SpecCombinator> SpecCombinator for ExplicitTag<T>

Source§

impl<T: SpecCombinator> SpecCombinator for ImplicitTag<T>

Source§

impl<T: SpecCombinator> SpecCombinator for LengthWrapped<T>

Source§

impl<T: SpecCombinator> SpecCombinator for Cached<T>

Source§

impl<const N: usize> SpecCombinator for BytesN<N>