Struct handy_io::pattern::combinators::Then
[−]
[src]
pub struct Then<P, F>(_, _);
A pattern for the then
combinator,
chaining a pattern on the end of another pattern regardless of its evaluation result.
This pattern is created by calling Pattern::then
method.
Methods
impl<P, F> Then<P, F>
[src]
Trait Implementations
impl<R: Read, P0, P1, F> ReadFrom<R> for Then<P0, F> where
P0: ReadFrom<R>,
P1: ReadFrom<R>,
F: FnOnce(Result<P0::Value>) -> P1,
[src]
P0: ReadFrom<R>,
P1: ReadFrom<R>,
F: FnOnce(Result<P0::Value>) -> P1,
type Future = ReadThen<R, P0, P1, F>
The future to read a value of the pattern from R
.
fn lossless_read_from(self, reader: R) -> Self::Future
Creates a future instance to read a value of the pattern from reader
.
fn read_from(self, reader: R) -> LossyReadFrom<R, Self::Future>
Creates a future instance to read a value of the pattern from reader
. Read more
fn sync_read_from(self, reader: R) -> Result<Self::Value>
Scynchronously reading a value of the pattern from reader
. Read more
fn boxed(self) -> BoxReadFrom<R, Self::Value> where
Self: Send + 'static,
Self::Future: Send + 'static,
Self: Send + 'static,
Self::Future: Send + 'static,
Returns the boxed version of this pattern.
impl<W: Write, P0, P1, F> WriteTo<W> for Then<P0, F> where
P0: WriteTo<W>,
P1: WriteTo<W>,
F: FnOnce(Result<P0::Value>) -> P1,
[src]
P0: WriteTo<W>,
P1: WriteTo<W>,
F: FnOnce(Result<P0::Value>) -> P1,
type Future = WriteThen<W, P0, P1, F>
The future to write a value of the pattern to W
.
fn lossless_write_to(self, writer: W) -> Self::Future
Creates a future instance to write a value of the pattern to writer
.
fn write_to(self, writer: W) -> LossyWriteTo<W, Self::Future>
Creates a future instance to write a value of the pattern to writer
. Read more
fn sync_write_to(self, writer: W) -> Result<Self::Value>
Scynchronously writing a value of the pattern to writer
. Read more
fn boxed(self) -> BoxWriteTo<W, Self::Value> where
Self: Send + 'static,
Self::Future: Send + 'static,
Self: Send + 'static,
Self::Future: Send + 'static,
Returns the boxed version of this pattern.
impl<P: Debug, F: Debug> Debug for Then<P, F>
[src]
impl<P0, P1, F> Pattern for Then<P0, F> where
P0: Pattern,
P1: Pattern,
F: FnOnce(Result<P0::Value>) -> P1,
[src]
P0: Pattern,
P1: Pattern,
F: FnOnce(Result<P0::Value>) -> P1,
type Value = P1::Value
The value type associated to the pattern.
fn then<F, P>(self, f: F) -> Then<Self, F> where
F: FnOnce(Result<Self::Value>) -> P,
F: FnOnce(Result<Self::Value>) -> P,
Takes a closure which maps a Result<Self::Value>
to a pattern, and creates a pattern which calls that closure on the evaluation result of self
. Read more
fn and_then<F, P>(self, f: F) -> AndThen<Self, F> where
F: FnOnce(Self::Value) -> P,
F: FnOnce(Self::Value) -> P,
Takes a closure which maps a value to a pattern, and creates a pattern which calls that closure if the evaluation of self
was succeeded. Read more
fn or_else<F, P>(self, f: F) -> OrElse<Self, F> where
F: FnOnce(Error) -> P,
F: FnOnce(Error) -> P,
Takes a closure which maps an error to a pattern, and creates a pattern which calls that closure if the evaluation of self
failed. Read more
fn map<F, T>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Value) -> T,
F: FnOnce(Self::Value) -> T,
Takes a closure which maps a value to another value, and creates a pattern which calls that closure on the evaluated value of self
. Read more
fn chain<P>(self, other: P) -> Chain<Self, P> where
P: Pattern,
P: Pattern,
Takes two patterns and creates a new pattern over both in sequence. Read more
fn repeat(self) -> Repeat<Self> where
Self: Clone,
Self: Clone,
Creates Repeat
pattern to represent an infinite stream of this pattern.