Boost logo

Boost :

Subject: Re: [boost] [fusion] Any chance we can incorporate more folds?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2010-08-20 17:21:57


AMDG

David Sankel wrote:
> I've implemented, in particular, foldr1:
>
> template<
> typename Sequence,
> typename State,
> typename F
>
> typename result_of::foldr1<Sequence, F>::type foldr1(
> Sequence& seq, F const& f);
>
> Semantics:
>
> Equivalent to f(....f(f(e1,e2),e3)...) where e1 ...eN are the elements
> of seq.
>
> It is very useful for fusion sequences of possibly distinct types that have
> identical concepts which can be merged in some way (like generators).
>
> I very much like the folds that are included in Haskell's prelude, namely
> foldl, foldl1, foldr (somewhat like boost's fold), and foldr1[1].
>

We already have reverse_fold, which makes 2/4.

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk