[][src]Enum bcder::Mode

pub enum Mode {
    Ber,
    Cer,
    Der,
}

The BER Mode.

X.680 defines not one but three sets of related encoding rules. All three follow the same basic ideas but implement them in slightly different ways.

This type represents these rules. The decode method provides a way to decode a source using the specific decoding mode. You can also change the decoding mode later on through the set_mode methods of [Primitive] and [Constructed].

Variants

Ber

Basic Encoding Rules.

These are the most flexible rules, allowing alternative encodings for some types as well as indefinite length values.

Cer

Canonical Encoding Rules.

These rules always employ indefinite length encoding for constructed values and the shortest possible form for primitive values. There are additional restrictions for certain types.

Der

Distinguished Encoding Rules.

These rules always employ definite length values and require the shortest possible encoding. Additional rules apply to some types.

Methods

impl Mode[src]

pub fn decode<S, F, T>(self, source: S, op: F) -> Result<T, S::Err> where
    S: Source,
    F: FnOnce(&mut Constructed<S>) -> Result<T, S::Err>, 
[src]

Decode a source using a specific mode.

The method will attempt to decode source using the rules represented by this value. The closure op will be given the content of the source as a sequence of values. The closure does not need to process all values in the source.

pub fn is_ber(self) -> bool[src]

Returns whether the mode is Mode::Ber.

pub fn is_cer(self) -> bool[src]

Returns whether the mode is Mode::Cer.

pub fn is_der(self) -> bool[src]

Returns whether the mode is Mode::Der.

Trait Implementations

impl Copy for Mode[src]

impl PartialEq<Mode> for Mode[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl Default for Mode[src]

impl Clone for Mode[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Eq for Mode[src]

impl Debug for Mode[src]

Auto Trait Implementations

impl Send for Mode

impl Sync for Mode

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]