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) -> <StructureParser as Parser>::PartialState
fn create_parser_state(&self) -> <StructureParser 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: &<StructureParser as Parser>::PartialState,
input: &'a [u8],
) -> Result<ParseStatus<'a, <StructureParser as Parser>::PartialState, <StructureParser as Parser>::Output>, ParserError>
fn parse<'a>( &self, state: &<StructureParser as Parser>::PartialState, input: &'a [u8], ) -> Result<ParseStatus<'a, <StructureParser as Parser>::PartialState, <StructureParser as Parser>::Output>, ParserError>
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<P> ModelConstraints for Pwhere
P: Parser,
impl<P> ModelConstraints for Pwhere
P: Parser,
Source§impl<P> ParserExt for Pwhere
P: Parser,
impl<P> ParserExt for Pwhere
P: Parser,
Source§fn otherwise<V>(self, other: V) -> ChoiceParser<Self, V>
fn otherwise<V>(self, other: V) -> ChoiceParser<Self, V>
Parse this parser, or another other parser.
Source§fn or<V>(self, other: V) -> MapOutputParser<ChoiceParser<Self, V>, Self::Output>
fn or<V>(self, other: V) -> MapOutputParser<ChoiceParser<Self, V>, Self::Output>
Parse this parser, or another other parser with the same type
Source§fn then<V>(self, other: V) -> SequenceParser<Self, V>
fn then<V>(self, other: V) -> SequenceParser<Self, V>
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>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <V as Parser>::Output>where
V: CreateParserState,
Self: Sized,
fn ignore_output_then<V>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, <V as Parser>::Output>where
V: CreateParserState,
Self: Sized,
Parse this parser, then the other parser while ignoring the current parser’s output.
Source§fn then_ignore_output<V>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, Self::Output>where
V: CreateParserState,
Self: Sized,
fn then_ignore_output<V>(
self,
other: V,
) -> MapOutputParser<SequenceParser<Self, V>, Self::Output>where
V: CreateParserState,
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::Output>where
Self: Sized,
fn then_literal(
self,
literal: impl Into<Cow<'static, str>>,
) -> MapOutputParser<SequenceParser<Self, LiteralParser>, Self::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: Sized + CreateParserState + Send + Sync + 'static,
Self::Output: Send + Sync + 'static,
Self::PartialState: Send + Sync + 'static,
fn boxed(self) -> ArcParser<Self::Output>where
Self: Sized + CreateParserState + 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>(self, initial_state: F) -> WithInitialState<Self, F>
fn with_initial_state<F>(self, initial_state: F) -> WithInitialState<Self, F>
Create a new parser with a different initial state