[−][src]Struct pest::iterators::Pair
A matching pair of Token
s 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 Token
s 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]
pub fn as_rule(&self) -> R
[src]
Returns 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]
Captures 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]
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]
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]
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]
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]
fn clone(&self) -> Pair<'i, R>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'i, R: Eq> Eq for Pair<'i, R>
[src]
impl<'i, R: PartialEq> PartialEq<Pair<'i, R>> for Pair<'i, R>
[src]
fn eq(&self, other: &Pair<'i, R>) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl<'i, R: RuleType> Debug for Pair<'i, R>
[src]
impl<'i, R: RuleType> Display for Pair<'i, R>
[src]
impl<'i, R: Hash> Hash for Pair<'i, R>
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,