pub struct SpanParser<'a> { /* private fields */ }Implementations§
Source§impl<'a> SpanParser<'a>
impl<'a> SpanParser<'a>
Sourcepub fn then_span(self, other: SpanParser<'a>) -> SpanParser<'a>
pub fn then_span(self, other: SpanParser<'a>) -> SpanParser<'a>
Sequential composition: flattens nested Seq chains into a single Vec.
Sourcepub fn or(self, other: SpanParser<'a>) -> SpanParser<'a>
pub fn or(self, other: SpanParser<'a>) -> SpanParser<'a>
Alternation: flattens nested OneOf chains into a single Vec.
pub fn opt_span(self) -> SpanParser<'a>
pub fn many_span(self, bounds: impl RangeBounds<usize> + 'a) -> SpanParser<'a>
pub fn sep_by_span( self, sep: SpanParser<'a>, bounds: impl RangeBounds<usize> + 'a, ) -> SpanParser<'a>
Sourcepub fn sep_by_ws_span(
self,
sep: SpanParser<'a>,
bounds: impl RangeBounds<usize> + 'a,
) -> SpanParser<'a>
pub fn sep_by_ws_span( self, sep: SpanParser<'a>, bounds: impl RangeBounds<usize> + 'a, ) -> SpanParser<'a>
Fused sep_by + whitespace trimming: single trim between each step.
pub fn wrap_span( self, left: SpanParser<'a>, right: SpanParser<'a>, ) -> SpanParser<'a>
pub fn skip_span(self, next: SpanParser<'a>) -> SpanParser<'a>
pub fn next_after(self, next: SpanParser<'a>) -> SpanParser<'a>
pub fn not_span(self, negated: SpanParser<'a>) -> SpanParser<'a>
Sourcepub fn minus_span(self, excluded: SpanParser<'a>) -> SpanParser<'a>
pub fn minus_span(self, excluded: SpanParser<'a>) -> SpanParser<'a>
Set difference: match self only if excluded would NOT match at the
same starting position. Used for EBNF/BNF exception (-) semantics.
pub fn look_ahead_span(self, lookahead: SpanParser<'a>) -> SpanParser<'a>
Sourcepub fn negate_span(self) -> SpanParser<'a>
pub fn negate_span(self) -> SpanParser<'a>
Zero-width negative assertion: succeeds (empty Span) when inner fails.
Sourcepub fn peek_span(self) -> SpanParser<'a>
pub fn peek_span(self) -> SpanParser<'a>
Zero-width positive assertion: succeeds with inner’s Span but does NOT
consume input. The dual of negate_span().
pub fn trim_whitespace(self) -> SpanParser<'a>
pub fn save_state(self) -> SpanParser<'a>
Sourcepub fn into_parser(self) -> Parser<'a, Span<'a>>
pub fn into_parser(self) -> Parser<'a, Span<'a>>
Convert to a generic Parser<'a, Span<'a>>.
Sourcepub fn map<O: 'a>(self, f: fn(Span<'a>) -> O) -> Parser<'a, O>
pub fn map<O: 'a>(self, f: fn(Span<'a>) -> O) -> Parser<'a, O>
Map Span output to any type, producing a generic Parser.
Sourcepub fn map_closure<O: 'a>(self, f: impl Fn(Span<'a>) -> O + 'a) -> Parser<'a, O>
pub fn map_closure<O: 'a>(self, f: impl Fn(Span<'a>) -> O + 'a) -> Parser<'a, O>
Map with a closure (not just fn pointer).
Source§impl<'a> SpanParser<'a>
impl<'a> SpanParser<'a>
pub fn call(&self, state: &mut ParserState<'a>) -> Option<Span<'a>>
Trait Implementations§
Source§impl<'a> BitOr for SpanParser<'a>
impl<'a> BitOr for SpanParser<'a>
Source§type Output = SpanParser<'a>
type Output = SpanParser<'a>
The resulting type after applying the
| operator.Source§impl<'a> From<SpanParser<'a>> for Parser<'a, Span<'a>>
impl<'a> From<SpanParser<'a>> for Parser<'a, Span<'a>>
Source§fn from(sp: SpanParser<'a>) -> Self
fn from(sp: SpanParser<'a>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a> Freeze for SpanParser<'a>
impl<'a> !RefUnwindSafe for SpanParser<'a>
impl<'a> !Send for SpanParser<'a>
impl<'a> !Sync for SpanParser<'a>
impl<'a> Unpin for SpanParser<'a>
impl<'a> UnsafeUnpin for SpanParser<'a>
impl<'a> !UnwindSafe for SpanParser<'a>
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