Trait pest::prelude::Input
[−]
[src]
pub trait Input<'a> { fn len(&self) -> usize; fn is_empty(&self) -> bool; fn pos(&self) -> usize; fn set_pos(&mut self, pos: usize); fn slice(&self, start: usize, end: usize) -> &'a str; fn line_col(&self, pos: usize) -> (usize, usize); fn match_string(&mut self, string: &str) -> bool; fn match_range(&mut self, left: char, right: char) -> bool; }
A trait
that defines an input for a Parser
.
Required Methods
fn len(&self) -> usize
Returns length of an Input
.
fn is_empty(&self) -> bool
Returns whether an Input
is empty.
fn pos(&self) -> usize
Returns current position of an Input
.
fn set_pos(&mut self, pos: usize)
Set current position of an Input
.
fn slice(&self, start: usize, end: usize) -> &'a str
Slices an Input
.
fn line_col(&self, pos: usize) -> (usize, usize)
Returns the line and column of a position for an Input
.
fn match_string(&mut self, string: &str) -> bool
Matches string
to an Input
, returns whether it matched, and advances the position with
string.len()
in case it did.
fn match_range(&mut self, left: char, right: char) -> bool
Matches if an Input
's current char
is between left
and right
, and advances the
position with one char
in case it did.
Implementors
impl<'a> Input<'a> for StringInput<'a>