Boost logo

Boost :

Subject: [boost] Proposed Library Boost.Algorithm
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2011-03-30 18:03:56

(Finally) I have uploaded to the vault <> a proposal for the Boost.Algorithm library.

This has been a matter of interest and discussion for a long, long time.
Some of this code was written during the "Library in a week" session at BoostCon 2008. More was written last summer after this year's BoostCon.

There is no way that I can write and submit all the algorithms that people want/need/are interested in, so I am proposing to set up a system by which people can submit algorithms to be included in the library, and have them reviewed, much like how new libraries are reviewed for acceptance into boost. The difference will be that a new algorithm is generally a much smaller piece of code than a new library, so hopefully we can lower the barrier to getting small pieces of code into Boost.

So, what's in this proposal?

1) Three search algorithms: Boyer-Moore, Boyer-Moore-Horspool and Knuth-Morris-Pratt. (search.hpp)

2) A set of predicates for determining if a sequence is ordered (by some criteria) (ordered.hpp)
Originally written by Grant Erickson during the "Library in a week" session at Boostcon 2008, and reworked somewhat by myself.

3) A set of predicates for determining other properties of a sequence, based on some suggestions for C++0x. (all.hpp)

4) An algorithm for restricting a value between two endpoints (clamp.hpp)

And, of course, test cases and documentation.

-- Marshall

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