pub enum StructureParser {
Literal(Cow<'static, str>),
Num {
min: f64,
max: f64,
integer: bool,
},
Either {
first: Box<StructureParser>,
second: Box<StructureParser>,
},
Then {
first: Box<StructureParser>,
second: Box<StructureParser>,
},
}Expand description
A validator for a string
Variants§
Literal(Cow<'static, str>)
A literal string
Num
A number
Fields
Either
Either the first or the second parser
Then
The first parser, then the second parser
Trait Implementations§
Source§impl Clone for StructureParser
impl Clone for StructureParser
Source§fn clone(&self) -> StructureParser
fn clone(&self) -> StructureParser
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CreateParserState for StructureParser
impl CreateParserState for StructureParser
Source§fn create_parser_state(&self) -> <Self as Parser>::PartialState
fn create_parser_state(&self) -> <Self as Parser>::PartialState
Create the default state of the parser.
Source§impl Debug for StructureParser
impl Debug for StructureParser
Source§impl Parser for StructureParser
impl Parser for StructureParser
Source§type PartialState = StructureParserState
type PartialState = StructureParserState
The state of the parser.
Source§fn parse<'a>(
&self,
state: &Self::PartialState,
input: &'a [u8],
) -> ParseResult<ParseStatus<'a, Self::PartialState, Self::Output>>
fn parse<'a>( &self, state: &Self::PartialState, input: &'a [u8], ) -> ParseResult<ParseStatus<'a, Self::PartialState, Self::Output>>
Parse the given input.
Auto Trait Implementations§
impl Freeze for StructureParser
impl RefUnwindSafe for StructureParser
impl Send for StructureParser
impl Sync for StructureParser
impl Unpin for StructureParser
impl UnwindSafe for StructureParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<P> ParserExt for Pwhere
P: Parser,
impl<P> ParserExt for Pwhere
P: Parser,
Source§fn otherwise<V: Parser>(self, other: V) -> ChoiceParser<Self, V>where
Self: Sized,
fn otherwise<V: Parser>(self, other: V) -> ChoiceParser<Self, V>where
Self: Sized,
Parse this parser, or another other parser.
Source§fn or<V: Parser<Output = Self::Output>>(
self,
other: V,
) -> MapOutputParser<ChoiceParser<Self, V>, Self::Output>where
Self: Sized,
fn or<V: Parser<Output = Self::Output>>(
self,
other: V,
) -> MapOutputParser<ChoiceParser<Self, V>, Self::Output>where
Self: Sized,
Parse this parser, or another other parser with the same type
Source§fn then<V: Parser>(self, other: V) -> SequenceParser<Self, V>where
Self: Sized,
fn then<V: Parser>(self, other: V) -> SequenceParser<Self, V>where
Self: Sized,
Parse this parser, then the other parser.
Source§fn then_lazy<V, F>(self, other: F) -> ThenLazy<Self, F>
fn then_lazy<V, F>(self, other: F) -> ThenLazy<Self, F>
Parse this parser, then the other parser that is created base on the output of this parser.
Source§fn ignore_output_then<V: CreateParserState>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <V as Parser>::Output>where
Self: Sized,
fn ignore_output_then<V: CreateParserState>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <V as Parser>::Output>where
Self: Sized,
Parse this parser, then the other parser while ignoring the current parser’s output.
Source§fn then_ignore_output<V: CreateParserState>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <Self as Parser>::Output>where
Self: Sized,
fn then_ignore_output<V: CreateParserState>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <Self as Parser>::Output>where
Self: Sized,
Parse this parser, then the other parser while ignoring the output of the other parser.
Source§fn then_literal(
self,
literal: impl Into<Cow<'static, str>>,
) -> MapOutputParser<SequenceParser<Self, LiteralParser>, <Self as Parser>::Output>where
Self: Sized,
fn then_literal(
self,
literal: impl Into<Cow<'static, str>>,
) -> MapOutputParser<SequenceParser<Self, LiteralParser>, <Self as Parser>::Output>where
Self: Sized,
Parse this parser, then a literal. This is equivalent to
.then_ignore_output(LiteralParser::new(literal)).Source§fn repeat(self, length_range: RangeInclusive<usize>) -> RepeatParser<Self>where
Self: Sized,
fn repeat(self, length_range: RangeInclusive<usize>) -> RepeatParser<Self>where
Self: Sized,
Repeat this parser a number of times.
Source§fn map_output<F, O>(self, f: F) -> MapOutputParser<Self, O, F>
fn map_output<F, O>(self, f: F) -> MapOutputParser<Self, O, F>
Map the output of this parser.
Source§fn boxed(self) -> ArcParser<Self::Output>where
Self: CreateParserState + Sized + Send + Sync + 'static,
Self::Output: Send + Sync + 'static,
Self::PartialState: Send + Sync + 'static,
fn boxed(self) -> ArcParser<Self::Output>where
Self: CreateParserState + Sized + Send + Sync + 'static,
Self::Output: Send + Sync + 'static,
Self::PartialState: Send + Sync + 'static,
Get a boxed version of this parser.
Source§fn with_initial_state<F: Fn() -> Self::PartialState + Clone>(
self,
initial_state: F,
) -> WithInitialState<Self, F>where
Self: Sized,
fn with_initial_state<F: Fn() -> Self::PartialState + Clone>(
self,
initial_state: F,
) -> WithInitialState<Self, F>where
Self: Sized,
Create a new parser with a different initial state