pub trait ChoiceParser<Input: Stream> {
type Output;
type PartialState: Default;
fn parse_first(
&mut self,
input: &mut Input,
state: &mut Self::PartialState
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>;
fn parse_partial(
&mut self,
input: &mut Input,
state: &mut Self::PartialState
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>;
fn parse_mode_choice<M>(
&mut self,
mode: M,
input: &mut Input,
state: &mut Self::PartialState
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
where
M: ParseMode,
Self: Sized;
fn add_error_choice(
&mut self,
error: &mut Tracked<<Input as StreamOnce>::Error>
);
}
Expand description
ChoiceParser
represents a parser which may parse one of several different choices depending
on the input.
This is an internal trait used to overload the choice
function.