Boost logo

Boost :

From: Chad Parry (spam_at_[hidden])
Date: 2005-08-25 17:15:46

(Resending to the Boost distribution list.)

I have a suggestion for the range_ex library. It is such a useful library --
IMHO, the Boost.Range library is useless without it. I would also like to
see it include a numeric.hpp that has a version of adjacent_difference, etc.
In my mind, any standard algorithm that takes an input iterator and an output
iterator as parameters could be rewritten as a range adaptor. I attached a
sample implementation. It's not done using Boost coding standards or
anything. BTW, I also found the "tail" (a.k.a. "pop_front") adaptor to be
useful in conjunction with adjacent_difference. Here's how I use it in my
toy project:

    QuoteSum sum(
            make_ResUse_range(result) |
                            boost::bind(&mysqlpp::Row::operator[], _1,
                        boost::bind(&mysqlpp::Row::operator[], _1, 1)
                ) |
                adjacent_difference() |
            AccumulateQuotes(inverseYearDuration, annualMeanRate)

Thanks for the work that went into the library -- I hope it gets adopted. I
personally find it much more powerful than BOOST_FOREACH.

-- chad

Boost list run by bdawes at, gregod at, cpdaniel at, john at