Decider

Struct Decider 

Source
pub struct Decider<A, D> {
    pub description: &'static str,
    pub decider: fn(&[&str], &mut SVec<A>) -> Decision<D>,
}
Expand description

A decider is a function taking in a sequence of tokens and an output array

It puts tokens into the output array according to interal logic and returns how many elements it has consumed. If it could not process the input tokens it will return a Deny, containing the reason for denying.

Fields§

§description: &'static str

The description of the decider. Used in help and error messages.

§decider: fn(&[&str], &mut SVec<A>) -> Decision<D>

Decider function, takes a list of inputs and writes it to the list of outputs, returns a decision that informs the machinery how to continue, by either telling it to consume N items or to deny the input.

Auto Trait Implementations§

§

impl<A, D> Freeze for Decider<A, D>

§

impl<A, D> RefUnwindSafe for Decider<A, D>

§

impl<A, D> Send for Decider<A, D>

§

impl<A, D> Sync for Decider<A, D>

§

impl<A, D> Unpin for Decider<A, D>

§

impl<A, D> UnwindSafe for Decider<A, D>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.