pub struct Pair<'i, R> { /* private fields */ }
Expand description

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.

Implementations

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);

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");
👎 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");

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");

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());

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.