Skip to main content

Span

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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>