Trait neure::ctx::Context

source ·
pub trait Context<'a> {
    type Orig: ?Sized;
    type Item;
    type Iter<'b>: Iterator<Item = (usize, Self::Item)>
       where Self: 'b;

    // Required methods
    fn len(&self) -> usize;
    fn offset(&self) -> usize;
    fn set_offset(&mut self, offset: usize) -> &mut Self;
    fn inc(&mut self, offset: usize) -> &mut Self;
    fn dec(&mut self, offset: usize) -> &mut Self;
    fn peek_at(&self, offset: usize) -> Result<Self::Iter<'a>, Error>;
    fn orig_at(&self, offset: usize) -> Result<&'a Self::Orig, Error>;
    fn orig_sub(
        &self,
        offset: usize,
        len: usize
    ) -> Result<&'a Self::Orig, Error>;
    fn clone_with(&self, orig: &'a Self::Orig) -> Self;

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn peek(&self) -> Result<Self::Iter<'a>, Error> { ... }
    fn orig(&self) -> Result<&'a Self::Orig, Error> { ... }
}

Required Associated Types§

source

type Orig: ?Sized

source

type Item

source

type Iter<'b>: Iterator<Item = (usize, Self::Item)> where Self: 'b

Required Methods§

source

fn len(&self) -> usize

source

fn offset(&self) -> usize

source

fn set_offset(&mut self, offset: usize) -> &mut Self

source

fn inc(&mut self, offset: usize) -> &mut Self

source

fn dec(&mut self, offset: usize) -> &mut Self

source

fn peek_at(&self, offset: usize) -> Result<Self::Iter<'a>, Error>

source

fn orig_at(&self, offset: usize) -> Result<&'a Self::Orig, Error>

source

fn orig_sub(&self, offset: usize, len: usize) -> Result<&'a Self::Orig, Error>

source

fn clone_with(&self, orig: &'a Self::Orig) -> Self

Provided Methods§

source

fn is_empty(&self) -> bool

source

fn peek(&self) -> Result<Self::Iter<'a>, Error>

source

fn orig(&self) -> Result<&'a Self::Orig, Error>

Implementors§

source§

impl<'a> Context<'a> for RegexCtx<'a, str>

§

type Orig = str

§

type Item = char

§

type Iter<'b> = CharIndices<'b> where Self: 'b

source§

impl<'a> Context<'a> for RegexCtx<'a, [u8]>

§

type Orig = [u8]

§

type Item = u8

§

type Iter<'b> = BytesIndices<'b, u8> where Self: 'b

source§

impl<'a, I, B> Context<'a> for PolicyCtx<I, B>where B: Clone + 'a, I: Context<'a>,

§

type Orig = <I as Context<'a>>::Orig

§

type Item = <I as Context<'a>>::Item

§

type Iter<'b> = <I as Context<'a>>::Iter<'b> where Self: 'b