Struct handy_io::pattern::combinators::IterFold
[−]
[src]
pub struct IterFold<I, F, T>(_, _, _);
A pattern for the fold
combinator,
folding values of the patterns contained in a iterator to produce final value.
This pattern is created by calling Iter::fold
method.
Methods
impl<I, F, T> IterFold<I, F, T>
[src]
Trait Implementations
impl<R: Read, I, F, T> ReadFrom<R> for IterFold<I, F, T> where
I: Iterator,
I::Item: ReadFrom<R>,
F: Fn(T, <I::Item as Pattern>::Value) -> T,
[src]
I: Iterator,
I::Item: ReadFrom<R>,
F: Fn(T, <I::Item as Pattern>::Value) -> T,
type Future = ReadIterFold<R, I::Item, I, F, T>
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, I, F, T> WriteTo<W> for IterFold<I, F, T> where
I: Iterator,
I::Item: WriteTo<W>,
F: Fn(T, <I::Item as Pattern>::Value) -> T,
[src]
I: Iterator,
I::Item: WriteTo<W>,
F: Fn(T, <I::Item as Pattern>::Value) -> T,
type Future = WriteIterFold<W, I::Item, I, F, T>
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<I: Debug, F: Debug, T: Debug> Debug for IterFold<I, F, T>
[src]
impl<I, P, F, T> Pattern for IterFold<I, F, T> where
I: Iterator<Item = P>,
P: Pattern,
F: Fn(T, P::Value) -> T,
[src]
I: Iterator<Item = P>,
P: Pattern,
F: Fn(T, P::Value) -> T,
type Value = T
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.