der::asn1

Trait Choice

Source
pub trait Choice<'a>: Decode<'a> + Tagged {
    // Required method
    fn can_decode(tag: Tag) -> bool;
}
Expand description

ASN.1 CHOICE denotes a union of one or more possible alternatives.

The types MUST have distinct tags.

This crate models choice as a trait, with a blanket impl for all types which impl Decode + FixedTag (i.e. they are modeled as a CHOICE with only one possible variant)

Required Methods§

Source

fn can_decode(tag: Tag) -> bool

Is the provided Tag decodable as a variant of this CHOICE?

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Choice<'_> for Any

Source§

impl<'a> Choice<'a> for AnyRef<'a>

Source§

impl<'a, T> Choice<'a> for ContextSpecific<T>
where T: Decode<'a> + Tagged,

Source§

impl<'a, T> Choice<'a> for T
where T: Decode<'a> + FixedTag,

This blanket impl allows any Tagged type to function as a Choice with a single alternative.