Boost logo

Boost :

Subject: [boost] [GSoC] Checks summary
From: Pierre Talbot (pierre.talbot.6114_at_[hidden])
Date: 2011-09-07 12:23:28

Hello all,

The Google summer of code gave me the opportunity to learn a lot, but
overall I started to build
another little part of the open-source world. This was a great
experience for me. I'd like to thank
my mentor, Paul A. Bristow for all the help he bestowed, Google and
all the Boost members who gave
me their opinions or advice.

During this summer, I've started to build the foundation of a new
library. It's only a prototype for
the time being but I hope make it useful and powerful soon. The name
of this library is "Checks", it
currently implements one kind of check function: those used for
catching human errors. For example,
the famous ISBN has a check digit computed with all the characters. It
exists few algorithms and a
lot of number are based on well-known algorithm. This library should
offer useful extending
possibilities because there are so many that we can't implement every
type of checks for a Boost

I've implemented and written the following contents :

* Basic check algorithms ( Luhn, Mod11, Verhoeff, ...).
* Start to write a test suite that should facilitate the measurement
of efficiency of the check
algorithms (number of alterations, transposition, ... detected).
* Write some sanity tests for the functions implemented (using Boot.Test).
* Documented the functions already written and start a "global"
documentation of the parameters that
affect the efficiency of each algorithms.

This library is absolutely not finished but can be used for simple
verification or computation of
check digit.
I would like to improve and even-fuller-document this library before a
Boost review.

The code, tests and documentation can be found at

and here are a direct links to the documentation in html

and as a single pdf file

(Sadly the Doxygen comments documenting the (many) template parameters
are not displayed correctly
in the C++ reference section (due to a buglet in the toolchain), so
for now you may need to consult
the header files to read the C++/Doxygen \tparam comments.

Meanwhile, you can also consult the Standalone Doxygen documentation at

Or you can rebuild the Standalone Doxygen documentation using the Doxywizard and

If you have any comments or suggestions, please do not hesitate to contact me.

Pierre Talbot.

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