Boost logo

Boost :

Subject: [boost] [Review:Algorithms]
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-10-02 22:45:40


This is my late review of the Boost Algorithms library.

First a minor irritation. I am used to downloading a library in its own
directory separate from a Boost tree, and then being able to generate
docs and tests by running the bjam files with a line such as:

'bjam --boost=C:/Programming/VersionControl/boost toolset=msvc-10.0'

where I point to a Boost tree with the --boost parameter. This works if
the bjam root file has the canonical search for BOOST_ROOT given in the
sandbox example library's jamroot.jam. It's really simple just to copy
over that jamroot.jam into the root directory of the library before
distribution, but almost no one seems to do this automatically. So I
always have to do it myself. This is a PITA. So I wonder if we can not
put on some web page for library developers this simple jamroot.jam and
tell developers to use it.

* What is your evaluation of the design?

Clean and clear.

* What is your evaluation of the implementation?

I did not look.

* What is your evaluation of the documentation?

Very good. My only suggestion is that soem sort of extended discussion
of advantages and disadvantages of search algorithms would be possible
in the docs which would allow an end-user to decide what search
algorithm would be optimal for particular practical situations.

* What is your evaluation of the potential usefulness of the library?

Very useful and very much needed. There is a little overlap with some
other Boost libraries as mentioned in Dave Abrahams initial introduction
to the library in his post about the start of the review, but I very
much like the general nature of the algorithms where other libarries are
more specific to their domain.

* Did you try to use the library? With what compiler? Did you have any
problems?

I tried quickly with MSVC-10.0 and gcc-4.6.0, neither with any problems.

* How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?

A very quick evaluation but a thorough reading.

* Are you knowledgeable about the problem domain?

Aside from the search algorithms I have used various forms of nearly all
the other algorithms in my programming career so I understand what they
are about and how useful they can be.

I vote for the Boost Algorithms library to be accepted into Boost and I
look forward to other general purpose algorithms being added to it in
the future. Boost should be leading the way in introducing general
purpose algorithms that work on C++ sequences, via range or iterators,
given the fact that the C++ standard library changes as slowly as the
C++ standard and new algorithms can be quite useful, as these are. Kudos
to Marshall Clow for a clean and effective design and keeping the
initial algorithms focused on usefulness and end-user simplicity, both
of which I value very highly.


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