Struct pest::Span
[−]
[src]
pub struct Span<'i> { /* fields omitted */ }
A struct
of a span over a &str
. It is created from either
two Position
s or from a
Pair
.
Methods
impl<'i> Span<'i>
[src]
fn start(&self) -> usize
[src]
Returns the Span
's start byte position as a usize
.
Examples
let input = "ab"; let start = Position::from_start(input); let end = start.clone().match_string("ab").unwrap(); let span = start.span(&end); assert_eq!(span.start(), 0);
fn end(&self) -> usize
[src]
Returns the Span
's end byte position as a usize
.
Examples
let input = "ab"; let start = Position::from_start(input); let end = start.clone().match_string("ab").unwrap(); let span = start.span(&end); assert_eq!(span.end(), 2);
fn start_pos(&self) -> Position<'i>
[src]
Returns the Span
's start Position
.
Examples
let input = "ab"; let start = Position::from_start(input); let end = start.clone().match_string("ab").unwrap(); let span = start.clone().span(&end); assert_eq!(span.start_pos(), start);
fn end_pos(&self) -> Position<'i>
[src]
Returns the Span
's end Position
.
Examples
let input = "ab"; let start = Position::from_start(input); let end = start.clone().match_string("ab").unwrap(); let span = start.span(&end); assert_eq!(span.end_pos(), end);
fn split(self) -> (Position<'i>, Position<'i>)
[src]
Splits the Span
into a pair of Position
s.
Examples
let input = "ab"; let start = Position::from_start(input); let end = start.clone().match_string("ab").unwrap(); let span = start.clone().span(&end); assert_eq!(span.split(), (start, end));
fn as_str(&self) -> &'i str
[src]
Captures a slice from the &str
defined by the Span
.
Examples
let input = "abc"; let start = Position::from_start(input).skip(1).unwrap(); let end = start.clone().match_string("b").unwrap(); let span = start.span(&end); assert_eq!(span.as_str(), "b");
Trait Implementations
impl<'i> Debug for Span<'i>
[src]
impl<'i> Clone for Span<'i>
[src]
fn clone(&self) -> Span<'i>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'i> PartialEq for Span<'i>
[src]
fn eq(&self, other: &Span<'i>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl<'i> Eq for Span<'i>
[src]
impl<'i> PartialOrd for Span<'i>
[src]
fn partial_cmp(&self, other: &Span<'i>) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<'i> Ord for Span<'i>
[src]
fn cmp(&self, other: &Span<'i>) -> Ordering
[src]
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.22.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.22.0[src]
Compares and returns the minimum of two values. Read more