Struct Choice

struct Choice<T> { ... }

Wrapping structure for the [alt()] combinator implementation

Implementations

impl<Input, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>> Parser for Choice<&mut [A]>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>, Q: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>, Q: Parser<Input, Output = Output, Error = Error>, R: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>, Q: Parser<Input, Output = Output, Error = Error>, R: Parser<Input, Output = Output, Error = Error>, S: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>, Q: Parser<Input, Output = Output, Error = Error>, R: Parser<Input, Output = Output, Error = Error>, S: Parser<Input, Output = Output, Error = Error>, T: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>, B: Parser<Input, Output = Output, Error = Error>, C: Parser<Input, Output = Output, Error = Error>, D: Parser<Input, Output = Output, Error = Error>, E: Parser<Input, Output = Output, Error = Error>, F: Parser<Input, Output = Output, Error = Error>, G: Parser<Input, Output = Output, Error = Error>, H: Parser<Input, Output = Output, Error = Error>, I: Parser<Input, Output = Output, Error = Error>, J: Parser<Input, Output = Output, Error = Error>, K: Parser<Input, Output = Output, Error = Error>, L: Parser<Input, Output = Output, Error = Error>, M: Parser<Input, Output = Output, Error = Error>, N: Parser<Input, Output = Output, Error = Error>, O: Parser<Input, Output = Output, Error = Error>, P: Parser<Input, Output = Output, Error = Error>, Q: Parser<Input, Output = Output, Error = Error>, R: Parser<Input, Output = Output, Error = Error>, S: Parser<Input, Output = Output, Error = Error>, T: Parser<Input, Output = Output, Error = Error>, U: Parser<Input, Output = Output, Error = Error>> Parser for Choice<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<N: usize, Input: Clone, Output, Error: ParseError<Input>, A: Parser<Input, Output = Output, Error = Error>> Parser for Choice<[A; N]>

fn process<OM: crate::OutputMode>(self: &mut Self, input: Input) -> crate::PResult<OM, Input, <Self as >::Output, <Self as >::Error>

impl<T> Any for Choice<T>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for Choice<T>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for Choice<T>

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

impl<T> Freeze for Choice<T>

impl<T> From for Choice<T>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> RefUnwindSafe for Choice<T>

impl<T> Send for Choice<T>

impl<T> Sync for Choice<T>

impl<T> Unpin for Choice<T>

impl<T> UnwindSafe for Choice<T>

impl<T, U> Into for Choice<T>

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for Choice<T>

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

impl<T, U> TryInto for Choice<T>

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