Trait Span

Source
pub trait Span {
    // Required methods
    fn start_position(&self) -> Position;
    fn end_position(&self) -> Position;

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn len(&self) -> usize { ... }
    fn text<'a>(&self, text: &'a str) -> &'a str { ... }
}
Expand description

This trait allows for representing a parsed item that has start and end positions in a text.

Required Methods§

Source

fn start_position(&self) -> Position

Returns the start position of this item.

Source

fn end_position(&self) -> Position

Returns the end position of this item.

Provided Methods§

Source

fn is_empty(&self) -> bool

Returns true if the span is empty, otherwise false.

Source

fn len(&self) -> usize

Returns the length of this span.

Source

fn text<'a>(&self, text: &'a str) -> &'a str

Returns the text representation of this item.

Implementations on Foreign Types§

Source§

impl Span for Range<Position>

Source§

impl<T0: Span, T1: Span> Span for (T0, T1)

Source§

impl<T0: Span, T1: Span, T2: Span> Span for (T0, T1, T2)

Source§

impl<T0: Span, T1: Span, T2: Span, T3: Span> Span for (T0, T1, T2, T3)

Source§

impl<T0: Span, T1: Span, T2: Span, T3: Span, T4: Span> Span for (T0, T1, T2, T3, T4)

Source§

impl<T0: Span, T1: Span, T2: Span, T3: Span, T4: Span, T5: Span> Span for (T0, T1, T2, T3, T4, T5)

Source§

impl<T: Span> Span for &T

Source§

impl<T: Span> Span for Box<T>

Implementors§

Source§

impl Span for AnyChar

Source§

impl Span for Empty

Source§

impl Span for Eos

Source§

impl Span for Whitespace

Source§

impl Span for Position

Source§

impl<A: Span, B: Span> Span for Either<A, B>

Source§

impl<A: Span, B: Span, C: Span> Span for OneOfThree<A, B, C>

Source§

impl<A: Span, B: Span, C: Span, D: Span> Span for OneOfFour<A, B, C, D>

Source§

impl<Item: Span, Delimiter: Span> Span for Items<Item, Delimiter>

Source§

impl<T> Span for Not<T>

Source§

impl<T: Span> Span for Maybe<T>

Source§

impl<T: Span> Span for NonEmpty<T>

Source§

impl<T: Span> Span for While<T>

Source§

impl<const C0: char, const C1: char, const C2: char, const C3: char, const C4: char, const C5: char, const C6: char, const C7: char, const C8: char, const C9: char> Span for Str<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>

Source§

impl<const RADIX: u8> Span for Digit<RADIX>

Source§

impl<const T: char, const NAMED: bool> Span for Char<T, NAMED>