Struct pest::iterators::Pair [−][src]
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.
Implementations
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]
👎 Deprecated since 2.0.0:
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");
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());
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]
impl<'i, R: RuleType> Debug for Pair<'i, R>
[src]
impl<'i, R: RuleType> Display for Pair<'i, R>
[src]
impl<'i, R: Eq> Eq for Pair<'i, R>
[src]
impl<'i, R: Hash> Hash for Pair<'i, R>
[src]
fn hash<H: Hasher>(&self, state: &mut H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'i, R: PartialEq> PartialEq<Pair<'i, R>> for Pair<'i, R>
[src]
Auto Trait Implementations
impl<'i, R> !RefUnwindSafe for Pair<'i, R>
impl<'i, R> !Send for Pair<'i, R>
impl<'i, R> !Sync for Pair<'i, R>
impl<'i, R> Unpin for Pair<'i, R>
impl<'i, R> UnwindSafe for Pair<'i, R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
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.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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.
pub 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>,