Skip to main content

Choice

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".

Implementors§

Source§

impl Choice<'_> for Any

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.

Source§

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