Struct pest::iterators::Pair [−][src]
pub struct Pair<'i, R> { /* fields omitted */ }A matching pair of Tokens and everything between them.
A matching Token pair is formed by a Token::Start and a subsequent Token::End with the
same Rule, with the condition that all Tokens between them can form such pairs as well.
This is similar to the brace matching problem in
editors.
Methods
impl<'i, R: RuleType> Pair<'i, R>[src]
impl<'i, R: RuleType> Pair<'i, R>pub fn as_rule(&self) -> R[src]
pub fn as_rule(&self) -> RReturns the Rule of the Pair.
Examples
enum Rule { a } let input = ""; let pair = pest::state(input, |state| { // generating Token pair with Rule::a ... }).unwrap().next().unwrap(); assert_eq!(pair.as_rule(), Rule::a);
pub fn as_str(&self) -> &'i str[src]
pub fn as_str(&self) -> &'i strCaptures a slice from the &str defined by the token Pair.
Examples
enum Rule { ab } let input = "ab"; let pair = pest::state(input, |state| { // generating Token pair with Rule::ab ... }).unwrap().next().unwrap(); assert_eq!(pair.as_str(), "ab");
pub fn into_span(self) -> Span<'i>[src]
pub fn into_span(self) -> Span<'i>: Please use as_span instead
Returns the Span defined by the Pair, consuming it.
Examples
enum Rule { ab } let input = "ab"; let pair = pest::state(input, |state| { // generating Token pair with Rule::ab ... }).unwrap().next().unwrap(); assert_eq!(pair.into_span().as_str(), "ab");
pub fn as_span(&self) -> Span<'i>[src]
pub fn as_span(&self) -> Span<'i>Returns the Span defined by the Pair, without consuming it.
Examples
enum Rule { ab } let input = "ab"; let pair = pest::state(input, |state| { // generating Token pair with Rule::ab ... }).unwrap().next().unwrap(); assert_eq!(pair.as_span().as_str(), "ab");
ⓘImportant traits for Pairs<'i, R>pub fn into_inner(self) -> Pairs<'i, R>[src]
pub fn into_inner(self) -> Pairs<'i, R>Returns the inner Pairs between the Pair, consuming it.
Examples
enum Rule { a } let input = ""; let pair = pest::state(input, |state| { // generating Token pair with Rule::a ... }).unwrap().next().unwrap(); assert!(pair.into_inner().next().is_none());
ⓘImportant traits for Tokens<'i, R>pub fn tokens(self) -> Tokens<'i, R>[src]
pub fn tokens(self) -> Tokens<'i, R>Returns the Tokens for the Pair.
Examples
enum Rule { a } let input = ""; let pair = pest::state(input, |state| { // generating Token pair with Rule::a ... }).unwrap().next().unwrap(); let tokens: Vec<_> = pair.tokens().collect(); assert_eq!(tokens.len(), 2);
Trait Implementations
impl<'i, R: Clone> Clone for Pair<'i, R>[src]
impl<'i, R: Clone> Clone for Pair<'i, R>fn clone(&self) -> Pair<'i, R>[src]
fn clone(&self) -> Pair<'i, R>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<'i, R: RuleType> Debug for Pair<'i, R>[src]
impl<'i, R: RuleType> Debug for Pair<'i, R>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'i, R: RuleType> Display for Pair<'i, R>[src]
impl<'i, R: RuleType> Display for Pair<'i, R>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'i, R: PartialEq> PartialEq for Pair<'i, R>[src]
impl<'i, R: PartialEq> PartialEq for Pair<'i, R>fn eq(&self, other: &Pair<'i, R>) -> bool[src]
fn eq(&self, other: &Pair<'i, R>) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl<'i, R: Eq> Eq for Pair<'i, R>[src]
impl<'i, R: Eq> Eq for Pair<'i, R>impl<'i, R: Hash> Hash for Pair<'i, R>[src]
impl<'i, R: Hash> Hash for Pair<'i, R>