Trait scan_rules::scanner::ScanStr [] [src]

pub trait ScanStr<'a>: Sized {
    type Output;
    fn scan<I: ScanInput<'a>>(
        &mut self,
        s: I
    ) -> Result<(Self::Output, usize), ScanError>; fn wants_leading_junk_stripped(&self) -> bool; }

This trait defines the interface for runtime scanners.

Runtime scanners must be created before they can be used, but this allows their behaviour to be modified at runtime.

Associated Types

The type that the implementation scans into.

Required Methods

Perform a scan on the given input.

See: ScanFromStr::scan_from.

Indicates whether or not the scanner wants its input to have leading "junk", such as whitespace, stripped.

There is no default implementation of this for runtime scanners, because almost all runtime scanners forward on to some other scanner, and it is that scanner that should typically decide what to do.

Thus, in most cases, your implementation of this method should simply defer to the next scanner.

See: ScanFromStr::wants_leading_junk_stripped.

Implementors