Trait pipe_chain::pipe::UntilExt
source · pub trait UntilExt<I, O, E> {
// Provided methods
fn until<O2, P>(self, p: P) -> Until<Self, P, O, O2>
where I: Clone,
O: Unpack,
O2: HList,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E> { ... }
fn no_more_until<O2, P>(self, p: P) -> NoMoreUntil<Self, P, O, O2>
where I: Clone,
O: Unpack,
O2: HList,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E> { ... }
fn repeat_until<O2, R, P>(self, r: R, p: P) -> RepeatUntil<Self, P, O, O2>
where I: Clone,
O: Unpack,
O2: HList,
R: TryInto<Repetition>,
R::Error: Error,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E> { ... }
}Expand description
Until combinator
Provided Methods§
sourcefn until<O2, P>(self, p: P) -> Until<Self, P, O, O2>where
I: Clone,
O: Unpack,
O2: HList,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E>,
fn until<O2, P>(self, p: P) -> Until<Self, P, O, O2>where I: Clone, O: Unpack, O2: HList, (Vec<O::Output>,): Extend<O2>, Self: Sized, P: Pipe<I, O2, E>,
Applies a Pipe until the 2nd succeeds
sourcefn no_more_until<O2, P>(self, p: P) -> NoMoreUntil<Self, P, O, O2>where
I: Clone,
O: Unpack,
O2: HList,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E>,
fn no_more_until<O2, P>(self, p: P) -> NoMoreUntil<Self, P, O, O2>where I: Clone, O: Unpack, O2: HList, (Vec<O::Output>,): Extend<O2>, Self: Sized, P: Pipe<I, O2, E>,
Applies self until p succeeds, self is applied 0 or more times
sourcefn repeat_until<O2, R, P>(self, r: R, p: P) -> RepeatUntil<Self, P, O, O2>where
I: Clone,
O: Unpack,
O2: HList,
R: TryInto<Repetition>,
R::Error: Error,
(Vec<O::Output>,): Extend<O2>,
Self: Sized,
P: Pipe<I, O2, E>,
fn repeat_until<O2, R, P>(self, r: R, p: P) -> RepeatUntil<Self, P, O, O2>where I: Clone, O: Unpack, O2: HList, R: TryInto<Repetition>, R::Error: Error, (Vec<O::Output>,): Extend<O2>, Self: Sized, P: Pipe<I, O2, E>,
repeats self with the given repetition then applies p