Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74279 - in sandbox/SOC/2011/checks/libs/checks/doc/html: . boost_checks boost_checks/checks boost_checks/checks/acks boost_checks/checks/errors boost_checks/checks/isbn boost_checks/checks/isbn_checking boost_checks/checks/modulus boost_checks/checks/overview boost_checks/checks/tutorial boost_checks/isbn_checking checks checks/checks checks/checks/modulus checks/checks/modulus/verhoeff checks/checks/tutorial
From: pbristow_at_[hidden]
Date: 2011-09-06 13:07:27


Author: pbristow
Date: 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
New Revision: 74279
URL: http://svn.boost.org/trac/boost/changeset/74279

Log:
Corrections
Added:
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/FAQs.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/faqs.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/history.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/rationale.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/refs.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/version_id.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/algorithm.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/ean.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/alteration.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/lenght.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/length.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/phonetic.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/shift.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/transposition.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/hints_and_tips.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/history.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/international_article_number__ean__checking.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/introduction.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synopsis.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synposis.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking/synopsis.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/luhn.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod10.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod11.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/modexamples.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/summary.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview/conventions.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/preface.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/rationale.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/refs.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tips.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/todo.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/extending_the_library.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/isbn_example.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/start.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/universal_product_code__upc__checking.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/upc.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/version_id.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/isbn_checking/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/isbn_checking/synopsis.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/version_id.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/boostbook - Copy.css (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/acks.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/history.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/rationale.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/refs.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff/ (props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff/summary.html (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/version_id.html (contents, props changed)
Text files modified:
   sandbox/SOC/2011/checks/libs/checks/doc/html/BOOST_CHECK_LIMIT_WEIGHTS.html | 2 +-
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks.html | 1 +
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/acks.html | 13 ++++++++++---
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/history.html | 2 +-
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus.html | 1 +
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/mod11.html | 6 +++---
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/summary.html | 6 +++---
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/refs.html | 39 +++++++++++++++++++++++++++++++++++++++
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/status.html | 5 ++---
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/tutorial/extending_the_library.html | 10 ++++++----
   sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/version_id.html | 2 +-
   sandbox/SOC/2011/checks/libs/checks/doc/html/index.html | 5 +++--
   12 files changed, 71 insertions(+), 21 deletions(-)

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/BOOST_CHECK_LIMIT_WEIGHTS.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/BOOST_CHECK_LIMIT_WEIGHTS.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/BOOST_CHECK_LIMIT_WEIGHTS.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -33,7 +33,7 @@
 
 </span>BOOST_CHECK_LIMIT_WEIGHTS</pre></div>
 <div class="refsect1" lang="en">
-<a name="id939006"></a><h2>Description</h2>
+<a name="id927766"></a><h2>Description</h2>
 <p>This macro expands to 100. For compile-time saving, you can decrease it if the algorithm(s) used have a lower weight size sequence. A contrario, you can increase it till 236 (see Boost.Preprocessor for more details about this limit.) </p>
 <p>
 </p>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boost.Checks</title>
+<link rel="stylesheet" href=".././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost_Checks">
+<link rel="up" href="../index.html" title="Boost_Checks">
+<link rel="prev" href="../index.html" title="Boost_Checks">
+<link rel="next" href="checks/preface.html" title="Preface">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src=".././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="checks/preface.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_checks.checks"></a><a class="link" href="checks.html" title="Boost.Checks">Boost.Checks</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Preface</span></dt>
+<dt><span class="section">Overview</span></dt>
+<dd><dl><dt><span class="section"><a href="checks/overview/conventions.html">Document
+ Conventions</a></span></dt></dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dd><dl>
+<dt><span class="section">Starting with Checks</span></dt>
+<dt><span class="section"><a href="checks/tutorial/extending_the_library.html">Extending
+ the library</a></span></dt>
+</dl></dd>
+<dt><span class="section">Common check algorithms</span></dt>
+<dt><span class="section">Type of errors</span></dt>
+<dd><dl>
+<dt><span class="section">Alteration</span></dt>
+<dt><span class="section">Transposition</span></dt>
+<dt><span class="section">Length</span></dt>
+<dt><span class="section">Shift</span></dt>
+<dt><span class="section">Phonetic</span></dt>
+</dl></dd>
+<dt><span class="section">Modular sum algorithms</span></dt>
+<dd><dl>
+<dt><span class="section">Luhn algorithm</span></dt>
+<dt><span class="section">Modulus 10 algorithm</span></dt>
+<dt><span class="section">Modulus 11 algorithm</span></dt>
+<dt><span class="section">Summary of Algorithms</span></dt>
+</dl></dd>
+<dt><span class="section">Acknowledgements</span></dt>
+<dt><span class="section">FAQs</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Rationale</span></dt>
+<dt><span class="section">History</span></dt>
+<dt><span class="section">Version Info</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="checks/preface.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/FAQs.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/FAQs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>FAQs</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="acks.html" title="Acknowledgements">
+<link rel="next" href="refs.html" title="References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.faqs"></a><a class="link" href="faqs.html" title="FAQs">FAQs</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Why are checks needed?
+ </li>
+<li>
+ How many alterations to the strings are detected (or undetected)?
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="modulus/summary.html" title="Summary of Algorithms">
+<link rel="next" href="faqs.html" title="FAQs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modulus/summary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="faqs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.acks"></a><a class="link" href="acks.html" title="Acknowledgements">Acknowledgements</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Thanks to Paul A. Bristow who is the mentor of this Google Summber of
+ Code project for his infinite patience and his wise advice.
+ </li>
+<li>
+ Thanks for Google for funding this Google Summber of Code 2011 project.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modulus/summary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="faqs.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/faqs.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/faqs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>FAQs</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../acks.html" title="Acknowledgements">
+<link rel="prev" href="../acks.html" title="Acknowledgements">
+<link rel="next" href="refs.html" title="References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../acks.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.acks.faqs"></a><a class="link" href="faqs.html" title="FAQs">FAQs</a>
+</h4></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Why are checks needed?
+ </li>
+<li>
+ How many alterations to the strings are detected (or undetected)?
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../acks.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/history.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/history.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../acks.html" title="Acknowledgements">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="version_id.html" title="Version Info">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.acks.history"></a><a class="link" href="history.html" title="History">History</a>
+</h4></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ Project started by Pierre Talbot June 2011 as a Google Summer of Code
+ Project.
+ </li>
+<li>
+ First release in Boost Sandbox for public comment ????
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/rationale.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../acks.html" title="Acknowledgements">
+<link rel="prev" href="refs.html" title="References">
+<link rel="next" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.acks.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h4></div></div></div>
+<p>
+ This section records the rationale and compromises for some design decisions.
+ </p>
+<a name="boost_checks.checks.acks.rationale.function_parameter"></a><h5>
+<a name="id894950"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.acks.rationale.function_parameter">Function
+ parameter</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Functions that take a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
+ are convenient for users with simple requirements. This may be simplest
+ what a string is typed in.
+ </li>
+<li>
+ Functions that use std:: iterators <code class="computeroutput"><span class="identifier">begin</span></code>
+ and <code class="computeroutput"><span class="identifier">end</span></code> allow efficient
+ use of a decimal digits string within other text, for example when
+ a record is retrieve from a database.
+ </li>
+</ul></div>
+<a name="boost_checks.checks.acks.rationale.scope_of_the_project"></a><h5>
+<a name="id895010"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.acks.rationale.scope_of_the_project">Scope
+ of the project</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Scott McMurray has identifed four fairly distinct types of check:
+ </li>
+<li>
+ ISBN/ISSN/UPC/EAN/VISA/etc, for catching human-entry errors.
+ </li>
+<li>
+ hash functions as in hash tables, which only care about distribution.
+ </li>
+<li>
+ checksums like CRC32, for catching data transmission errors.
+ </li>
+<li>
+ and cryptographic hash functions, the only ones useful against malicious
+ adversaries.
+ </li>
+</ul></div>
+<p>
+ This project is directed first at the first class. Others might be the
+ subject of future libraries.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Performance is not a major objective, as most input is tiny, and the
+ number of items often likely to be quite small.
+ </li>
+<li>
+ Convenience and flexibility for the user is the highest priority.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/refs.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/refs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../acks.html" title="Acknowledgements">
+<link rel="prev" href="faqs.html" title="FAQs">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faqs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.acks.refs"></a><a class="link" href="refs.html" title="References">References</a>
+</h4></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ <a href="http://en.wikipedia.org/wiki/Isbn" target="_top">International Standard
+ Book Number (ISBN)</a>
+ </li>
+<li>
+ <a href="http://en.wikipedia.org/wiki/International_Standard_Serial_Number" target="_top">International
+ Standard Serial Number</a>
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faqs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/version_id.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/acks/version_id.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Version Info</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../acks.html" title="Acknowledgements">
+<link rel="prev" href="history.html" title="History">
+<link rel="next" href="../../../checks_reference.html" title="Checks Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../checks_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.acks.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
+</h4></div></div></div>
+<p>
+ Last edit to Quickbook file I:\boost-sandbox\SOC\2011\checks\libs\checks\doc\checks.qbk
+ was at 11:47:46 AM on 2011-Jun-14.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This version information should appear on the pdf version (but is redundant
+ on html where the last revised date is on the bottom line of the home
+ page).
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Home page "Last revised" is GMT, not local time. Last edit
+ date is local time.
+ </p></td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It does not give the last edit date of other included .qbk files, so
+ may mislead!
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../acks.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../checks_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/algorithm.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/algorithm.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Common check algorithms</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="tutorial/extending_the_library.html" title="Extending the library">
+<link rel="next" href="errors.html" title="Type of errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/extending_the_library.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.algorithm"></a><a class="link" href="algorithm.html" title="Common check algorithms">Common check algorithms</a>
+</h3></div></div></div>
+<p>
+ This section will discuss the objectives of the algorithms used in Boost.Checks.
+ A check algorithm is firstly designed to:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Catch the most errors as possible that a human (or machine) can make.
+ </li>
+<li>
+ Minimize the cost of the check digit for fast computation.
+ </li>
+<li>
+ Minimize the size (or number) of the check digit(s).
+ </li>
+</ol></div>
+<p>
+ We cannot have our cake and eat it, that's why we often choose between the
+ size or the efficiency. Critical numbers, for example, the <a href="http://en.wikipedia.org/wiki/International_Bank_Account_Number" target="_top">International
+ Bank Account Number (IBAN)</a>, use two check digits.
+ </p>
+<p>
+ The main difference with these algorithms (and the other checksum algorithms
+ such as CRC or cryptographic hashes) is that we don't analyse the binary
+ content of the number of the lexical values meaning, so "123" is
+ equivalent to <em class="replaceable"><code>123</code></em>.
+ </p>
+<div class="table">
+<a name="boost_checks.checks.algorithm.summary"></a><p class="title"><b>Table&#160;2.&#160;Error catching summary</b></p>
+<div class="table-contents"><table class="table" summary="Error catching summary">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ 1 Alteration
+ </p>
+ </th>
+<th>
+ <p>
+ 2 Alterations
+ </p>
+ </th>
+<th>
+ <p>
+ Twin transpositions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Luhn
+ </p>
+ </td>
+<td>
+ <p>
+ 18/18 (100%)
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ 88/90 (97.78%)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Verhoeff
+ </p>
+ </td>
+<td>
+ <p>
+ 18/18 (100%)
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ 90/90 (100%)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/extending_the_library.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/ean.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/ean.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>International Article Number (EAN) checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="upc.html" title="Universal Product Code (UPC) checking">
+<link rel="next" href="tutorial.html" title="Tutorial Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="upc.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.ean"></a><a class="link" href="ean.html" title="International Article Number (EAN) checking">International Article Number
+ (EAN) checking</a>
+</h3></div></div></div>
+<p>
+ EAN is a super-set of the original US 12-digit Universal Product Code (UPC)
+ UPC13 digit (12 + check digit) barcoding standard.
+ </p>
+<p>
+ See ????
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="upc.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Type of errors</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="algorithm.html" title="Common check algorithms">
+<link rel="next" href="errors/alteration.html" title="Alteration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="algorithm.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors/alteration.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.errors"></a><a class="link" href="errors.html" title="Type of errors">Type of errors</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Alteration</span></dt>
+<dt><span class="section">Transposition</span></dt>
+<dt><span class="section">Length</span></dt>
+<dt><span class="section">Shift</span></dt>
+<dt><span class="section">Phonetic</span></dt>
+</dl></div>
+<p>
+ This section will describe some common errors that an user or a device can
+ make.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="algorithm.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors/alteration.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/alteration.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/alteration.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Alteration</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="../errors.html" title="Type of errors">
+<link rel="next" href="transposition.html" title="Transposition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../errors.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="transposition.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.alteration"></a><a class="link" href="alteration.html" title="Alteration">Alteration</a>
+</h4></div></div></div>
+<a name="boost_checks.checks.errors.alteration.single_error"></a><h6>
+<a name="boost_checks.checks.errors.alteration.single_error-heading"></a>
+ <a class="link" href="alteration.html#boost_checks.checks.errors.alteration.single_error">Single
+ error</a>
+ </h6>
+<p>
+ If the digits are added, an alteration of one digit will always render
+ a different sum and therefore the check digit.
+ </p>
+<a name="boost_checks.checks.errors.alteration.multiple_error"></a><h6>
+<a name="boost_checks.checks.errors.alteration.multiple_error-heading"></a>
+ <a class="link" href="alteration.html#boost_checks.checks.errors.alteration.multiple_error">Multiple
+ error</a>
+ </h6>
+<p>
+ If more than one digit is altered, a simple sum can't ensure that the check
+ digit will be different. In fact it depends on the compensation of the
+ altered digits. For example : 1 + 2 + 3 = 6. If we alter 2 digits, the
+ sum could become : 2 + 2 + 2 = 6. The result is equal because 1 + 3 = 2
+ + 2, the digits altered are compensated.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../errors.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="transposition.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/lenght.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/lenght.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Length</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="transposition.html" title="Transposition">
+<link rel="next" href="shift.html" title="Shift">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transposition.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="shift.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.lenght"></a><a class="link" href="lenght.html" title="Length">Length</a>
+</h4></div></div></div>
+<p>
+ The length is not often a problem because many codes and numbers have a
+ fixed length. But if the user do not specify the size, an error could be
+ uncatched if the check digit of the new sequence of digit is equal to the
+ last digit of this sequence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transposition.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="shift.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/length.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/length.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Length</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="transposition.html" title="Transposition">
+<link rel="next" href="shift.html" title="Shift">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transposition.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="shift.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.length"></a><a class="link" href="length.html" title="Length">Length</a>
+</h4></div></div></div>
+<p>
+ The length is not often a problem because many codes and numbers have a
+ fixed length. But if the user do not specify the size, an error could be
+ uncaught if the check digit of the new sequence of digit is equal to the
+ last digit of this sequence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transposition.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="shift.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/phonetic.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/phonetic.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Phonetic</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="shift.html" title="Shift">
+<link rel="next" href="../modulus.html" title="Modular sum algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shift.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../modulus.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.phonetic"></a><a class="link" href="phonetic.html" title="Phonetic">Phonetic</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shift.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../modulus.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/shift.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/shift.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Shift</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="length.html" title="Length">
+<link rel="next" href="phonetic.html" title="Phonetic">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="length.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="phonetic.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.shift"></a><a class="link" href="shift.html" title="Shift">Shift</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="length.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="phonetic.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/transposition.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/errors/transposition.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Transposition</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../errors.html" title="Type of errors">
+<link rel="prev" href="alteration.html" title="Alteration">
+<link rel="next" href="length.html" title="Length">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="alteration.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="length.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.errors.transposition"></a><a class="link" href="transposition.html" title="Transposition">Transposition</a>
+</h4></div></div></div>
+<p>
+ A transposition on a simple sum is impossible to detect because the addition
+ is commutative, the order is not important. A solution is to associate
+ the position of a digit with a weight.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ A transposition error is only caught if the two digits transposed have
+ a different weight and if their values with their weight or the weight
+ of the other digit are not the same.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="alteration.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../errors.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="length.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/hints_and_tips.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/hints_and_tips.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hints and Tips</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="international_article_number__ean__checking.html" title="International Article Number (EAN) checking">
+<link rel="next" href="acks.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="international_article_number__ean__checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="acks.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.hints_and_tips"></a><a class="link" href="hints_and_tips.html" title="Hints and Tips">Hints and Tips</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ This manual is also available as a single PDF file which may be easily
+ emailed and printed.
+ </li>
+<li>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="international_article_number__ean__checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="acks.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/history.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/history.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="version_id.html" title="Version Info">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.history"></a><a class="link" href="history.html" title="History">History</a>
+</h3></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ Project started by Pierre Talbot June 2011 as a Google Summer of Code
+ Project.
+ </li>
+<li>
+ First release in Boost Sandbox for public comment Aug 2011.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/international_article_number__ean__checking.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/international_article_number__ean__checking.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>International Article Number (EAN) checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="universal_product_code__upc__checking.html" title="Universal Product Code (UPC) checking">
+<link rel="next" href="hints_and_tips.html" title="Hints and Tips">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="universal_product_code__upc__checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="hints_and_tips.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.international_article_number__ean__checking"></a><a class="link" href="international_article_number__ean__checking.html" title="International Article Number (EAN) checking">International
+ Article Number (EAN) checking</a>
+</h3></div></div></div>
+<p>
+ EAN is a super-set of the original US 12-digit Universal Product Code (UPC)
+ UPC13 digit (12 + check digit) barcoding standard.
+ </p>
+<p>
+ See
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="universal_product_code__upc__checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="hints_and_tips.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/introduction.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/introduction.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="overview/conventions.html" title="Document Conventions">
+<link rel="next" href="errors.html" title="Type of errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/conventions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
+</h3></div></div></div>
+<p>
+ The checks are required in a numerous kind of domains such as the distribution
+ chain (bar codes), the cards number (bank, fidelity cards, ...) and many
+ others. These codes and numbers are often copied or scanned by humans or
+ machines, and both make errors. We need a way to control it and this is why
+ some people created a check digit. A check digit is aimed to control the
+ validity of a number and catch mismatched input (we'll detail further the
+ different errors). Another functionnality of this library is to calculate
+ the check digit of a number. There are other functionnalities more specific
+ to a number, for example, we can <span class="emphasis"><em>transform</em></span> an ISBN-10
+ to an ISBN-13.
+ </p>
+<p>
+ There are a lot of codes and numbers that use a check digit, for instance
+ : the ISBN for the books or the IBAN for the internationnal account numbers.
+ But many of those are specialisation of well-known algorithms such as Luhn
+ or modulus 11 algorithm. For example : ISBN-13 is a specialisation of the
+ EAN-13 which is a specialisation of the modulus 10 algorithm.
+ </p>
+<p>
+ This library is divided into two parts : a low level part (Luhn, modulus
+ 11, modulus 10, ...) and a higher level library (ISBN-10, EAN-13, IBAN, VISA
+ number, ...). The higher level library will use the low level with filter
+ on the length, first X characters, ... Theorically, the user should only
+ use the high level library which is more specific. In some cases, the user
+ would like to use the lower level library because some kind of exotic numbers
+ (social number of india,...) are not provided by the library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/conventions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="errors.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ISBN checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="modulus/summary.html" title="Summary">
+<link rel="next" href="isbn/synposis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modulus/summary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="isbn/synposis.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.isbn"></a><a class="link" href="isbn.html" title="ISBN checking">ISBN checking</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section">Synopsis</span></dt></dl></div>
+<p>
+ The functions defined at are for validating and computing check digits of
+ <a href="http://en.wikipedia.org/wiki/Isbn" target="_top">International Standard Book
+ Number (ISBN)</a> strings.
+ </p>
+<a name="boost_checks.checks.isbn.error_detecting"></a><h5>
+<a name="id869525"></a>
+ <a class="link" href="isbn.html#boost_checks.checks.isbn.error_detecting">Error detecting</a>
+ </h5>
+<p>
+ You probably want a section on how good things are at detecting changes in
+ the string. This has been well studied for the Verhoeff/Gumm system.
+ </p>
+<p>
+ Some of your tests might be devoted to confirming that this is really true?
+ </p>
+<p>
+ All alterations of a single digit will be detected.
+ </p>
+<p>
+ Most alterations of two digits will be detected.
+ </p>
+<p>
+ All two digit transpositions will be detected.
+ </p>
+<p>
+ Both functions assume that <code class="computeroutput">isbn</code> is a 10-digit ISBN containing
+ only ANSI digits '0' to '9', or ANSI letters 'X', 'Y', 'x', 'y'.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modulus/summary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="isbn/synposis.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synopsis.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synopsis.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../isbn.html" title="ISBN checking">
+<link rel="prev" href="../isbn.html" title="ISBN checking">
+<link rel="next" href="../upc.html" title="Universal Product Code (UPC) checking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../upc.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.isbn.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+ <code class="computeroutput">is_isbn function</code>
+ </p>
+<p>
+ <span class="emphasis"><em>** * This function checks if a `isbn' is a valid ISBN. *</em></span>
+ bool is_isbn(const std::string&amp; isbn);
+ </p>
+<pre class="programlisting"><span class="comment">/**
+ * This function computes and returns the check digit for a given 9 digit ISBN in `isbn'.
+ */</span>
+<span class="keyword">char</span> <span class="identifier">isbn_check_digit</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">isbn</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../upc.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synposis.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn/synposis.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../isbn.html" title="ISBN checking">
+<link rel="prev" href="../isbn.html" title="ISBN checking">
+<link rel="next" href="../upc.html" title="Universal Product Code (UPC) checking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../upc.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.isbn.synposis"></a><a class="link" href="synposis.html" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<pre class="programlisting">// This function checks if an `isbn10` is a valid ISBN.
+bool is_isbn10(const std::string&amp; isbn);
+
+// This function computes and returns the check digit for a given 9 digit ISBN in `isbn`.
+char isbn_check_digit(const std::string&amp; isbn);
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../upc.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ISBN checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="overview.html" title="Overview">
+<link rel="next" href="isbn_checking/synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="isbn_checking/synopsis.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.isbn_checking"></a><a class="link" href="isbn_checking.html" title="ISBN checking">ISBN checking</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section">Synopsis</span></dt></dl></div>
+<p>
+ The functions defined at <boost/checks/isbn.hpp>
+ are for validating and computing check digits of <a href="http://en.wikipedia.org/wiki/Isbn" target="_top">International
+ Standard Book Number (ISBN)</a> strings.
+ </p>
+<p>
+ Both functions assume that <code class="computeroutput"><span class="identifier">isbn</span></code>
+ is a 10-digit ISBN containing only ANSI digits '0' to '9', or ANSI letters
+ 'X', 'Y', 'x', 'y'.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="isbn_checking/synopsis.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking/synopsis.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/isbn_checking/synopsis.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../isbn_checking.html" title="ISBN checking">
+<link rel="prev" href="../isbn_checking.html" title="ISBN checking">
+<link rel="next" href="../universal_product_code__upc__checking.html" title="Universal Product Code (UPC) checking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn_checking.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn_checking.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../universal_product_code__upc__checking.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.isbn_checking.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+ <code class="computeroutput">is_isbn function</code>
+ </p>
+<p>
+ <span class="emphasis"><em>** * This function checks if a `isbn' is a valid ISBN. *</em></span>
+ bool is_isbn(const std::string&amp; isbn);
+ </p>
+<pre class="programlisting"><span class="comment">/**
+ * This function computes and returns the check digit for a given 9 digit ISBN in `isbn'.
+ */</span>
+<span class="keyword">char</span> <span class="identifier">isbn_check_digit</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">isbn</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn_checking.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn_checking.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../universal_product_code__upc__checking.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modular sum algorithms</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="errors/phonetic.html" title="Phonetic">
+<link rel="next" href="modulus/luhn.html" title="Luhn algorithm">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="errors/phonetic.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="modulus/luhn.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.modulus"></a><a class="link" href="modulus.html" title="Modular sum algorithms">Modular sum algorithms</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Luhn algorithm</span></dt>
+<dt><span class="section">Modulus 10 algorithm</span></dt>
+<dt><span class="section">Modulus 11 algorithm</span></dt>
+<dt><span class="section">Summary of Algorithms</span></dt>
+</dl></div>
+<p>
+ A <span class="emphasis"><em>modular sum algorithm</em></span> computes the sum of a sequence
+ of digits modulus some number. The number obtained is called the <span class="emphasis"><em>check
+ digit</em></span>; in many codes it is appended as the last digit (or letter).
+ This simplistic algorithm detects any <span class="emphasis"><em>alteration</em></span> of
+ one single digit but doesn't detect a simple <span class="emphasis"><em>transposition</em></span>
+ or two (or more) digits if the check digit is not transposed. This is why
+ even the most basic algorithms introduce the notion of <span class="emphasis"><em>weight</em></span>.
+ The weight is the contribution of a number to the final sum. The following
+ algorithms presented are the base of many, many codes and numbers in worldwide
+ use. We could describe a number and its check digit calculation with three
+ characteristics : length, weight and the modulus. So we could design a generic
+ function - but we won't - it wouldn't be efficient and would be unnecessarily
+ complicated. The next parts will present three different algorithms for which
+ we have choose to design this implementation.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ We may add other algorithms later.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="errors/phonetic.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="modulus/luhn.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/luhn.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/luhn.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Luhn algorithm</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="../modulus.html" title="Modular sum algorithms">
+<link rel="next" href="mod10.html" title="Modulus 10 algorithm">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../modulus.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="mod10.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.modulus.luhn"></a><a class="link" href="luhn.html" title="Luhn algorithm">Luhn algorithm</a>
+</h4></div></div></div>
+<a name="boost_checks.checks.modulus.luhn.description"></a><h6>
+<a name="boost_checks.checks.modulus.luhn.description-heading"></a>
+ <a class="link" href="luhn.html#boost_checks.checks.modulus.luhn.description">Description</a>
+ </h6>
+<p>
+ The Luhn algorithm is used with a lot of codes and numbers: the most well-known
+ usage is the verification of the <span class="emphasis"><em>credit card numbers</em></span>
+ It produces a check digit from a sequence with an unlimited length. The
+ weight pattern used is from the rightmost digit (the check digit) doubling
+ the value of every second digit. It applies a modulus 10 on the sum, so
+ the range of the check digit is from 0 to 9.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ When a digit is doubled, we subtract 9 from the result if it exceeds
+ 9
+ </p></td></tr>
+</table></div>
+<a name="boost_checks.checks.modulus.luhn.errors"></a><h6>
+<a name="boost_checks.checks.modulus.luhn.errors-heading"></a>
+ <a class="link" href="luhn.html#boost_checks.checks.modulus.luhn.errors">Errors</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Alterations</strong></span> of any one digit are all caught.
+ The alterations of more than one digit are not all caught. All <span class="bold"><strong>transpositions</strong></span> on digits with different weight are
+ caught, but the sequence "90" or "09" is not because:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting">9*2 = 18 and 18-9 = 9
+9 * 2 = 9 * 1
+0 * 2 = 0 * 1
+</pre>
+<p>
+ </p>
+<p>
+ The two digits have the same value if they are doubled or not. Because
+ Luhn alternates a weight of 1 and 2, any transpositions of digits with
+ the same weight are not caught.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../modulus.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="mod10.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod10.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod10.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modulus 10 algorithm</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="luhn.html" title="Luhn algorithm">
+<link rel="next" href="mod11.html" title="Modulus 11 algorithm">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="luhn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="mod11.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.modulus.mod10"></a><a class="link" href="mod10.html" title="Modulus 10 algorithm">Modulus 10 algorithm</a>
+</h4></div></div></div>
+<a name="boost_checks.checks.modulus.mod10.description"></a><h6>
+<a name="boost_checks.checks.modulus.mod10.description-heading"></a>
+ <a class="link" href="mod10.html#boost_checks.checks.modulus.mod10.description">Description</a>
+ </h6>
+<p>
+ This algorithm use a modulus 10 as the Luhn algorithm but use a custom
+ weight pattern. The sum is made without subtraction if the multiplication
+ of a digit exceeds 9. The custom weight pattern may be useful for many
+ codes and numbers that aren't implemented in the high level library. The
+ user can easily craft his own check function with this weight pattern.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="luhn.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="mod11.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod11.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/mod11.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modulus 11 algorithm</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="mod10.html" title="Modulus 10 algorithm">
+<link rel="next" href="summary.html" title="Summary of Algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.modulus.mod11"></a><a class="link" href="mod11.html" title="Modulus 11 algorithm">Modulus 11 algorithm</a>
+</h4></div></div></div>
+<p>
+ The modulus 11 algorithm use a modulus of 11, so we have 11 possible check
+ digits. The ten first characters are the figures from 0 to 9, the eleventh
+ is a special character choose by the designer of the number. It is typically
+ 'X' or 'x'. The weight of a digit is related to its position. The weight
+ of the first character is equal to the total length of the number (with
+ the check digit included). The weight decreases by one for the second position,
+ one again for the third, etc.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/modexamples.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/modexamples.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,271 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="mod11.html" title="Modulus 11 algorithm">
+<link rel="next" href="summary.html" title="Summary">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.modulus.modexamples"></a><a class="link" href="modexamples.html" title="Examples">Examples</a>
+</h4></div></div></div>
+<p>
+ In this part, we'll see some basic examples which show how to check or
+ compute a number with an algorithm. After this, we'll discuss about a few
+ specific cases.
+ </p>
+<p>
+ Firstly, we need to include the file including the check and compute functions.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">modulus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.modulus.modexamples.check_a_number"></a><h6>
+<a name="id863497"></a>
+ <a class="link" href="modexamples.html#boost_checks.checks.modulus.modexamples.check_a_number">Check
+ a number</a>
+ </h6>
+<p>
+ We can check a number which is delimitated by two iterators. The most simple
+ is using std::string.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">luhn_number</span> <span class="special">=</span> <span class="string">"123455"</span> <span class="special">;</span> <span class="comment">// Initialisation
+</span><span class="comment">// Verification
+</span><span class="keyword">if</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_luhn</span><span class="special">(</span> <span class="identifier">luhn_number</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">luhn_number</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="number">6</span><span class="special">)</span> <span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The number "</span> <span class="special">&lt;&lt;</span> <span class="identifier">luhn_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is a valid luhn number."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ This provides this output:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">number</span> <span class="number">123455</span> <span class="identifier">is</span> <span class="identifier">a</span> <span class="identifier">valid</span> <span class="identifier">luhn</span> <span class="identifier">number</span><span class="special">.</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.modulus.modexamples.compute_a_check_digit"></a><h6>
+<a name="id863751"></a>
+ <a class="link" href="modexamples.html#boost_checks.checks.modulus.modexamples.compute_a_check_digit">Compute
+ a check digit</a>
+ </h6>
+<p>
+ We can compute a check digit which is in the range [0..9] ( + 'X' for the
+ modulus 11 algorithm). The check digit can be of the type "char"
+ or a custom type such as <span class="emphasis"><em>wchar_t</em></span>.
+ </p>
+<p>
+ This example will show how to compute a serie of check digit retrieved
+ from a UTF-8 file and put the result into another UTF-8 file.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">wifstream</span> <span class="identifier">mod11_ifile</span><span class="special">(</span><span class="string">"files/checks_file_unicode_input.txt"</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">in</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">wofstream</span> <span class="identifier">mod11_ofile</span><span class="special">(</span><span class="string">"files/checks_file_unicode_output.txt"</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">out</span> <span class="special">|</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">trunc</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span> <span class="identifier">tmp_mod11_number</span> <span class="special">;</span>
+
+<span class="keyword">while</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">mod11_ifile</span><span class="special">,</span> <span class="identifier">tmp_mod11_number</span><span class="special">)</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">wchar_t</span> <span class="identifier">check_digit</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_mod11</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;(</span><span class="identifier">tmp_mod11_number</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">tmp_mod11_number</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span> <span class="special">);</span>
+ <span class="identifier">mod11_ofile</span> <span class="special">&lt;&lt;</span> <span class="identifier">tmp_mod11_number</span> <span class="special">&lt;&lt;</span> <span class="string">" check digit : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">check_digit</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">mod11_ofile</span><span class="special">.</span><span class="identifier">close</span><span class="special">();</span>
+<span class="identifier">mod11_ifile</span><span class="special">.</span><span class="identifier">close</span><span class="special">();</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ The contents of the input and output files are showed on the following
+ table. We tested the program with 3 differents numbers, the digits of this
+ number are separated with the unicode character '&#8224;'.
+ </p>
+<div class="table">
+<a name="boost_checks.checks.modulus.modexamples.id"></a><p class="title"><b>Table&#160;1.&#160;Contents of the input and output files</b></p>
+<div class="table-contents"><table class="table" summary="Contents of the input and output files">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Input file
+ </p>
+ </th>
+<th>
+ <p>
+ Output file
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 1&#8224;2&#8224;3&#8224;4&#8224;5&#8224;1
+ </p>
+ </td>
+<td>
+ <p>
+ 1&#8224;2&#8224;3&#8224;4&#8224;5&#8224;1 check digit :
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2&#8224;3&#8224;4&#8224;5&#8224;6&#8224;7
+ </p>
+ </td>
+<td>
+ <p>
+ 2&#8224;3&#8224;4&#8224;5&#8224;6&#8224;7 check digit :
+ 6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3&#8224;4&#8224;5&#8224;6&#8224;7&#8224;8
+ </p>
+ </td>
+<td>
+ <p>
+ 3&#8224;4&#8224;5&#8224;6&#8224;7&#8224;8 check digit :
+ 1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="boost_checks.checks.modulus.modexamples.use_the_weight_pattern"></a><h6>
+<a name="id868154"></a>
+ <a class="link" href="modexamples.html#boost_checks.checks.modulus.modexamples.use_the_weight_pattern">Use
+ the weight pattern</a>
+ </h6>
+<p>
+ We can use a custom weight pattern with the modulus 10 algorithm. In the
+ following example, we'll see how to compute and check a Routing transit
+ number (RTN).
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">// Design the weight pattern for the Routing transit number (RTN)
+</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">rtn_weight_pattern</span> <span class="special">=</span> <span class="special">{</span><span class="number">3</span><span class="special">,</span><span class="number">7</span><span class="special">,</span><span class="number">1</span><span class="special">};</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">rtn_number</span> <span class="special">=</span> <span class="string">"12345678"</span> <span class="special">;</span>
+
+<span class="identifier">rtn_number</span> <span class="special">+=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_mod10</span><span class="special">(</span><span class="identifier">rtn_number</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">rtn_number</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">rtn_weight_pattern</span><span class="special">,</span> <span class="number">8</span><span class="special">)</span> <span class="special">;</span>
+
+<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_mod10</span><span class="special">(</span> <span class="identifier">rtn_number</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">rtn_number</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">rtn_weight_pattern</span><span class="special">,</span> <span class="number">9</span><span class="special">)</span> <span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The routing transit number (RTN) : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">rtn_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is valid."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.modulus.modexamples.special_cases"></a><h6>
+<a name="id868519"></a>
+ <a class="link" href="modexamples.html#boost_checks.checks.modulus.modexamples.special_cases">Special
+ cases</a>
+ </h6>
+<div class="orderedlist"><ol type="1"><li>
+ <span class="underline">Numbers one beside the others</span>
+ </li></ol></div>
+<p>
+ The first special case is to test a collection of number which are in the
+ same container without special separation.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">// Create a string with numbers
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">luhn_numbers</span> <span class="special">=</span> <span class="string">""</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span><span class="special">=</span><span class="number">9</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&gt;=</span> <span class="number">0</span><span class="special">;</span> <span class="special">--</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostringstream</span> <span class="identifier">num_gen</span><span class="special">;</span>
+<span class="identifier">num_gen</span> <span class="special">&lt;&lt;</span> <span class="number">1023456</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">num</span> <span class="special">=</span> <span class="identifier">num_gen</span><span class="special">.</span><span class="identifier">str</span><span class="special">();</span>
+<span class="keyword">char</span> <span class="identifier">checkdigit</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_luhn</span><span class="special">(</span><span class="identifier">num</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">num</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">num</span><span class="special">.</span><span class="identifier">size</span><span class="special">());</span>
+<span class="identifier">luhn_numbers</span> <span class="special">=</span> <span class="identifier">luhn_numbers</span> <span class="special">+</span> <span class="identifier">num</span> <span class="special">+</span> <span class="identifier">checkdigit</span> <span class="special">;</span>
+<span class="special">}</span>
+
+<span class="comment">// Check all the numbers from this string
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">luhn_iter</span> <span class="special">=</span> <span class="identifier">luhn_numbers</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+<span class="keyword">while</span><span class="special">(</span><span class="identifier">luhn_iter</span> <span class="special">!=</span> <span class="identifier">luhn_numbers</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_luhn</span><span class="special">(</span><span class="identifier">luhn_iter</span><span class="special">,</span> <span class="identifier">luhn_numbers</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="number">9</span><span class="special">))</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The number is valid."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The number is invalid."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ This provides this output:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">number</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/summary.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/modulus/summary.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,177 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Summary of Algorithms</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="mod11.html" title="Modulus 11 algorithm">
+<link rel="next" href="../acks.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.modulus.summary"></a><a class="link" href="summary.html" title="Summary of Algorithms">Summary of Algorithms</a>
+</h4></div></div></div>
+<p>
+ Here a summary of the different algorithms studied.
+ </p>
+<div class="table">
+<a name="boost_checks.checks.modulus.summary.id"></a><p class="title"><b>Table&#160;3.&#160;Summary of the modular sum algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Summary of the modular sum algorithms">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Algorithm
+ </p>
+ </th>
+<th>
+ <p>
+ Modulus
+ </p>
+ </th>
+<th>
+ <p>
+ Weight pattern
+ </p>
+ </th>
+<th>
+ <p>
+ check digit range
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Luhn
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ ... 2 1 2 1
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 10
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ custom
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 11
+ </p>
+ </td>
+<td>
+ <p>
+ 11
+ </p>
+ </td>
+<td>
+ <p>
+ ... 2 1 10 ... 4 3 2 1
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9 + 'X'
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 97
+ </p>
+ </td>
+<td>
+ <p>
+ 97
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Verhoeff
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="preface.html" title="Preface">
+<link rel="next" href="overview/conventions.html" title="Document Conventions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="preface.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/conventions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="overview/conventions.html">Document
+ Conventions</a></span></dt></dl></div>
+<p>
+ This library provides a collection of functions for validating and creating
+ check digits.
+ </p>
+<p>
+ Scott McMurray has identifed four fairly distinct types of check:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ ISBN/ISSN/UPC/EAN/VISA/etc, for catching human-entry errors.
+ </li>
+<li>
+ hash functions as in hash tables, which only care about distribution.
+ </li>
+<li>
+ checksums like CRC32, for catching data transmission errors.
+ </li>
+<li>
+ and cryptographic hash functions, the only ones useful against malicious
+ adversaries.
+ </li>
+</ol></div>
+<p>
+ These are primarily for the first category : catching human-entry errors
+ (though it obviously also provides against a mis-scan or mis-transmit by
+ a device like a bar code or card reader.)
+ </p>
+<p>
+ This library supports four families of check : Modulus 10, Modulus 11, Modulus
+ 97-10 and Verhoeff. A lot of other check systems are inherited from these
+ families.
+ </p>
+<p>
+ The following diagram shows the hierachy used in Boost.Checks:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/checks/check_hierarchy.png" alt="check_hierarchy"></span>
+ </p>
+<p>
+ Numerous check algorithms are in use worldwide, and this is why this library
+ is designed to help you to cater for these less common checks, and even to
+ create your own check systems. If you are interested, see <a class="link" href="tutorial/extending_the_library.html" title="Extending the library">extending
+ the library</a>.
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ This is not (yet) an official Boost library. It was a <a href="http://code.google.com/soc/2011/boost/about.html" target="_top">Google
+ Summer of Code project (2011)</a> whose mentor organization was Boost.
+ It remains a library under construction, the code is quite functional,
+ but interfaces, library structure, and names may still be changed without
+ notice. The current version is available at
+ </p>
+<p>
+ <span class="bold"><strong>https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/libs/checks/doc/pdf/checks.pdf
+ PDF documentation.</strong></span>
+ </p>
+<p>
+ <span class="bold"><strong>https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/libs/checks/doc/html/index.html
+ HTML documentation.</strong></span>
+ </p>
+<p>
+ <span class="bold"><strong>https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/boost/checks/boost/
+ Boost Sandbox checks source code.</strong></span>
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Comments and suggestions (even bugs!) to Pierre Talbot pierre.talbot.6114
+ (at) herslibramont (dot) be
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="preface.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/conventions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview/conventions.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/overview/conventions.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,160 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Document Conventions</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="../overview.html" title="Overview">
+<link rel="next" href="../tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tutorial.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.overview.conventions"></a><a class="link" href="conventions.html" title="Document Conventions">Document
+ Conventions</a>
+</h4></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ <span class="bold"><strong>Tutorials</strong></span> are listed in the <span class="emphasis"><em>Table
+ of Contents</em></span> and include many examples that should help you
+ get started quickly.
+ </li>
+<li>
+ <span class="bold"><strong>Source code</strong></span> of the many <span class="emphasis"><em>Examples</em></span>
+ will often be your quickest starting point.
+ </li>
+<li>
+ <span class="bold"><strong>Reference section</strong></span> prepared using Doxygen
+ will provide the function and class signatures, but there is also an
+ <span class="emphasis"><em>index</em></span> of these.
+ </li>
+<li>
+ The main <span class="emphasis"><em>index</em></span> will also help, especially if you
+ know a word describing what it does, without needing to know the exact
+ name chosen for the function.
+ </li>
+</ul></div>
+<p>
+ This documentation makes use of the following naming and formatting conventions.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ C++ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span> <span class="identifier">font</span></code>
+ and is syntax-highlighted in color.
+ </li>
+<li>
+ Other code is in <code class="literal">teletype fixed-width font</code>.
+ </li>
+<li>
+ Replaceable text that you will need to supply is in <em class="replaceable"><code>italics</code></em>.
+ </li>
+<li>
+ If a name refers to a free function, it is specified like this: <code class="computeroutput"><span class="identifier">free_function</span><span class="special">()</span></code>;
+ that is, it is in <em class="replaceable"><code>code font</code></em> and its name
+ is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate
+ that it is a free function.
+ </li>
+<li>
+ If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special">&lt;&gt;</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">&lt;&gt;</span></code> to indicate that it is a class
+ template.
+ </li>
+<li>
+ If a name refers to a function-like macro, it is specified like this:
+ <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
+ that is, it is uppercase in code font and its name is followed by
+ <code class="computeroutput"><span class="special">()</span></code> to indicate that it
+ is a function-like macro. Object-like macros appear without the trailing
+ <code class="computeroutput"><span class="special">()</span></code>.
+ </li>
+<li>
+ Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
+ sense are specified in CamelCase.
+ </li>
+<li>
+ Many code snippets assume an implicit namespace, for example, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span></code>.
+ </li>
+<li>
+ If you have a feature request, or if it appears that the implementation
+ is in error, please check the TODO section first, as well as the rationale
+ section.
+ </li>
+</ul></div>
+<p>
+ If you do not find your idea/complaint, please reach the author either
+ through the Boost development list, or email the author(s) direct .
+ </p>
+<a name="boost_checks.checks.overview.conventions.admonishments"></a><h6>
+<a name="boost_checks.checks.overview.conventions.admonishments-heading"></a>
+ <a class="link" href="conventions.html#boost_checks.checks.overview.conventions.admonishments">Admonishments</a>
+ </h6>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In addition, notes such as this one specify non-essential information
+ that provides additional background or rationale.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These blocks contain information that you may find helpful while coding.
+ </p></td></tr>
+</table></div>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These contain information that is imperative to understanding a concept.
+ Failure to follow suggestions in these blocks will probably result in
+ undesired behavior. Read all of these you find.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Failure to heed this will lead to incorrect, and very likely undesired,
+ results.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tutorial.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/preface.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/preface.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Preface</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="../checks.html" title="Boost.Checks">
+<link rel="next" href="overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../checks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.preface"></a><a class="link" href="preface.html" title="Preface">Preface</a>
+</h3></div></div></div>
+<p>
+ The checks are required in numerous domains such as the distribution chain
+ (bar codes), banking (bank account, credit cards, fidelity cards, ...) and
+ many others. These codes and numbers are often copied or scanned by humans
+ or machines; and both make errors. We need a way to detect errors and this
+ is why check digits have been designed. A check digit aimes to control the
+ validity of a number and catch the as many changes as possible. (<a class="link" href="errors.html" title="Type of errors">types
+ of error</a> discuss possible alterations and their detection).
+ </p>
+<p>
+ <a class="link" href="overview.html" title="Overview">Overview</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../checks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/rationale.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="refs.html" title="References">
+<link rel="next" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h3></div></div></div>
+<p>
+ This section records the rationale and compromises for some design decisions.
+ </p>
+<a name="boost_checks.checks.rationale.scope_of_the_project"></a><h5>
+<a name="boost_checks.checks.rationale.scope_of_the_project-heading"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.rationale.scope_of_the_project">Scope
+ of the project</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc"><li>
+ Scott McMurray has identifed four fairly distinct types of check:
+ <div class="orderedlist"><ol type="1">
+<li>
+ ISBN/ISSN/UPC/EAN/VISA/etc, for catching human-entry errors.
+ </li>
+<li>
+ hash functions as in hash tables, which only care about distribution.
+ </li>
+<li>
+ checksums like CRC32, for catching data transmission errors.
+ </li>
+<li>
+ and cryptographic hash functions, the only ones useful against
+ malicious adversaries.
+ </li>
+</ol></div>
+ </li></ul></div>
+<p>
+ This project is directed first at the first class. Others might be the subject
+ of future additions or other libraries.
+ </p>
+<a name="boost_checks.checks.rationale.function_parameter"></a><h5>
+<a name="boost_checks.checks.rationale.function_parameter-heading"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.rationale.function_parameter">Function
+ parameter</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ For more flexibility, this library uses the range concept. So you can
+ use old C-array or std::string,...
+ </li>
+<li>
+ If there is only one check digit in the number, this check digit is returned
+ in the same raw type than in the range sequence.
+ </li>
+<li>
+ If there is more than one check digit, an extra parameter is required.
+ This must be an OutputIterator, the function returns an iterator at one
+ pass the end of the check digit stored into this iterator.
+ </li>
+</ul></div>
+<a name="boost_checks.checks.rationale.use_of_template_parameters_to_pass_size_and_weights"></a><h5>
+<a name="boost_checks.checks.rationale.use_of_template_parameters_to_pass_size_and_weights-heading"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.rationale.use_of_template_parameters_to_pass_size_and_weights">Use
+ of template parameters to pass size and weights</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ This feature means that much of the commonality between the various check
+ systems can be implemented in one place and reused.
+ </li>
+<li>
+ It also makes it possible to implement other check systems (of which
+ there are very many in use worldwide) and to devise new ones without
+ writing new code.
+ </li>
+</ul></div>
+<a name="boost_checks.checks.rationale.performance"></a><h5>
+<a name="boost_checks.checks.rationale.performance-heading"></a>
+ <a class="link" href="rationale.html#boost_checks.checks.rationale.performance">Performance</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc"><li>
+ Performance is not a major objective, but all the current algorithms
+ are implemented with a <span class="emphasis"><em>O(n)</em></span> complexity, where <span class="emphasis"><em>n</em></span>
+ is the number of digits or characters.
+ </li></ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/refs.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/refs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="faqs.html" title="FAQs">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faqs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.refs"></a><a class="link" href="refs.html" title="References">References</a>
+</h3></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ <a href="http://en.wikipedia.org/wiki/Routing_transit_number" target="_top">Routing
+ transit number (RTN)</a>
+ </li>
+<li>
+ <a href="http://en.wikipedia.org/wiki/Vehicle_identification_number" target="_top">Vehicle
+ Identification Number (VIN)</a>
+ </li>
+<li>
+ Code 39
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="faqs.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tips.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tips.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hints and Tips</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="tutorial/isbn_example.html" title="ISBN example">
+<link rel="next" href="acks.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/isbn_example.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="acks.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.tips"></a><a class="link" href="tips.html" title="Hints and Tips">Hints and Tips</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ This manual is also available as a single PDF file which may be easily
+ emailed and printed.
+ </li>
+<li>
+ This is another tip?
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/isbn_example.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="acks.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/todo.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/todo.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>TODO</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="history.html" title="History">
+<link rel="next" href="version_id.html" title="Version Info">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.todo"></a><a class="link" href="todo.html" title="TODO">TODO</a>
+</h3></div></div></div>
+<p>
+ This section lists items that are acknowledged as work still TODO.
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ Produce 1st version for comment.
+ </li>
+<li>
+ Produce version for pre-review.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="overview/conventions.html" title="Document Conventions">
+<link rel="next" href="tutorial/start.html" title="Starting with Checks">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/conventions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/start.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Starting with Checks</span></dt>
+<dt><span class="section"><a href="tutorial/extending_the_library.html">Extending
+ the library</a></span></dt>
+</dl></div>
+<p>
+ In this section, we will quickly learn to use this library. But most important
+ is the following quote of Lao Tseu :
+ </p>
+<p>
+ &#8220;<span class="quote">Give a Man a Fish, Feed Him For a Day. Teach a Man to Fish, Feed Him
+ For a Lifetime.</span>&#8221;
+ </p>
+<p>
+ So we'll also learn to extend this library and create your own check functions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/conventions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/start.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/extending_the_library.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/extending_the_library.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,634 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Extending the library</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="start.html" title="Starting with Checks">
+<link rel="next" href="../algorithm.html" title="Common check algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="start.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.tutorial.extending_the_library"></a><a class="link" href="extending_the_library.html" title="Extending the library">Extending
+ the library</a>
+</h4></div></div></div>
+<p>
+ The re-usability of this library is an important feature. In fact, we can't
+ code every existing check systems, this is why we will learn how to extend
+ this library to cater for existing check systems not yet provided, and
+ even to create your own check system.
+ </p>
+<a name="boost_checks.checks.tutorial.extending_the_library.example_with_the_routing_transit_number"></a><h6>
+<a name="boost_checks.checks.tutorial.extending_the_library.example_with_the_routing_transit_number-heading"></a>
+ <a class="link" href="extending_the_library.html#boost_checks.checks.tutorial.extending_the_library.example_with_the_routing_transit_number">Example
+ with the Routing transit number</a>
+ </h6>
+<p>
+ We will show how to extend this library with the <a href="http://en.wikipedia.org/wiki/Routing_transit_number" target="_top">Routing
+ transit number (RTN)</a>. The first thing to do is to read the check
+ digit calculation procedure. So we can notice few points:
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ It is a weighted sum and the weight sequence is: 3,7,1.
+ </li>
+<li>
+ It is using a modulus 10.
+ </li>
+<li>
+ The size of the RTN is 9.
+ </li>
+</ol></div>
+<p>
+ We can create the rtn.hpp file.
+ </p>
+<p>
+ The library supports the weighted sum and the modulus 10 algorithm, so
+ the work will be easy. We can run through the number from right to left
+ or left to right (sense) depending on the weight sequence. We will begin
+ with the leftmost digit because it is more "readable" (at least
+ for Latin language uers).
+ </p>
+<p>
+ We need these include files.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">modulus10</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">basic_checks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">RTN_SIZE</span> <span class="number">9</span>
+<span class="preprocessor">#define</span> <span class="identifier">RTN_SIZE_WITHOUT_CHECKDIGIT</span> <span class="number">8</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">weight</span><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span><span class="number">7</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;</span> <span class="identifier">rtn_weight</span> <span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">leftmost</span> <span class="identifier">rtn_sense</span> <span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ We must put the weights and the sense together into an algorithm type:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">modulus10_algorithm</span> <span class="special">&lt;</span> <span class="identifier">rtn_weight</span><span class="special">,</span> <span class="identifier">rtn_sense</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="identifier">rtn_check_algorithm</span> <span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">modulus10_algorithm</span> <span class="special">&lt;</span> <span class="identifier">rtn_weight</span><span class="special">,</span> <span class="identifier">rtn_sense</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="identifier">rtn_compute_algorithm</span> <span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ As the hard part is already done, we can build our check functions now:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">check_range</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">check_rtn</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">check_range</span><span class="special">&amp;</span> <span class="identifier">check_seq</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_sequence</span><span class="special">&lt;</span><span class="identifier">rtn_check_algorithm</span><span class="special">,</span> <span class="identifier">RTN_SIZE</span><span class="special">&gt;</span> <span class="special">(</span> <span class="identifier">check_seq</span> <span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">check_range</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">rtn_compute_algorithm</span><span class="special">::</span><span class="identifier">checkdigit</span><span class="special">&lt;</span><span class="identifier">check_range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">compute_rtn</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">check_range</span><span class="special">&amp;</span> <span class="identifier">check_seq</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_checkdigit</span><span class="special">&lt;</span><span class="identifier">rtn_compute_algorithm</span><span class="special">,</span> <span class="identifier">RTN_SIZE_WITHOUT_CHECKDIGIT</span><span class="special">&gt;</span> <span class="special">(</span> <span class="identifier">check_seq</span> <span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ And that's all!
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_checkdigit</span></code> and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_sequence</span></code> are both defined in
+ basic_checks.hpp
+ </p></td></tr>
+</table></div>
+<p>
+ We can code a RTN sample in the file checks_tutorial.cpp:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">rtn_number</span> <span class="special">=</span> <span class="string">"111000025"</span> <span class="special">;</span>
+<span class="keyword">if</span> <span class="special">(</span> <span class="identifier">check_rtn</span> <span class="special">(</span> <span class="identifier">rtn_number</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The Routing Transit Number: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">rtn_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is valid."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+<span class="identifier">rtn_number</span> <span class="special">=</span> <span class="string">"11100002"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The check digit of the number: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">rtn_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">compute_rtn</span> <span class="special">(</span><span class="identifier">rtn_number</span> <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ and the output is:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">Routing</span> <span class="identifier">Transit</span> <span class="identifier">Number</span><span class="special">:</span> <span class="number">111000025</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">check</span> <span class="identifier">digit</span> <span class="identifier">of</span> <span class="identifier">the</span> <span class="identifier">number</span><span class="special">:</span> <span class="number">11100002</span> <span class="identifier">is</span> <span class="number">5.</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.tutorial.extending_the_library.example_with_the_vehicle_identification_number__vin_"></a><h6>
+<a name="boost_checks.checks.tutorial.extending_the_library.example_with_the_vehicle_identification_number__vin_-heading"></a>
+ <a class="link" href="extending_the_library.html#boost_checks.checks.tutorial.extending_the_library.example_with_the_vehicle_identification_number__vin_">Example
+ with the Vehicle Identification Number (VIN)</a>
+ </h6>
+<p>
+ This second example is quite more complex because the <a href="http://en.wikipedia.org/wiki/Vehicle_identification_number" target="_top">Vehicle
+ Identification Number (VIN)</a> is not a default implemented check
+ algorithm. Like for the <a href="http://en.wikipedia.org/wiki/Routing_transit_number" target="_top">Routing
+ transit number (RTN)</a>, we must read the documentation first, and
+ then we can extract a few elements:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ The number contains letters that must be translated to compute or check
+ the check digit.
+ </li>
+<li>
+ The check digit is not at the end of the number. It's at the 9th position,
+ in the midst of the number.
+ </li>
+<li>
+ The letters Q, I, or O are not valid (presumably to avoid confusion
+ with digits 0 and 1).
+ </li>
+<li>
+ This uses a custom modulus 11 algorithm, so the check digit range is
+ [0..9, X]
+ </li>
+</ul></div>
+<p>
+ The library already has support for modulus 11 algorithm in the header:
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">modulus11</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<p>
+ We create the vin.hpp file.
+ Step by step, let's now complete this file.
+ </p>
+<div class="orderedlist"><ol type="1">
+<li>
+ The weight sequence is : 2,3,4,5,6,7,8,9,10.
+ </li>
+<li>
+ We run through the sequence from right to left.
+ </li>
+</ol></div>
+<p>
+ We create the types associated with these two observations:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">modulus11</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">basic_checks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">VIN_SIZE</span> <span class="number">17</span>
+<span class="preprocessor">#define</span> <span class="identifier">VIN_SIZE_WITHOUT_CHECKDIGIT</span> <span class="number">16</span>
+<span class="preprocessor">#define</span> <span class="identifier">VIN_CHECKDIGIT_POS</span> <span class="number">8</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">weight</span><span class="special">&lt;</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">5</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">7</span><span class="special">,</span><span class="number">8</span><span class="special">,</span><span class="number">9</span><span class="special">,</span><span class="number">10</span><span class="special">&gt;</span> <span class="identifier">vin_weight</span> <span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">rightmost</span> <span class="identifier">vin_sense</span> <span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ We will now attack the harder part of the work: we need to build the adapted
+ structure. To create our own algorithm, first we need to declare the structure
+ with inheritance:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">number_of_virtual_value_skipped</span> <span class="special">=</span> <span class="number">0</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">vin_algorithm</span> <span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">modulus11_algorithm</span><span class="special">&lt;</span><span class="identifier">vin_weight</span><span class="special">,</span> <span class="identifier">vin_sense</span><span class="special">,</span> <span class="identifier">number_of_virtual_value_skipped</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ The classic modulus 11 algorithm doesn't permit the translation of letters
+ (only the 'x' if it's the check digit). But the VIN number uses nearly
+ the full latin alphabet (they omitted O, Q, and I to avoid confusion with
+ numerals 1 and 0). We choose to launch the std::invalid_argument exception
+ (that has the effect of stopping the algorithm) if one of these letter
+ is encountered. The other letters must be transformed using this table:
+ </p>
+<div class="table">
+<a name="boost_checks.checks.tutorial.extending_the_library.id"></a><p class="title"><b>Table&#160;1.&#160;Letter to digit VIN conversion table</b></p>
+<div class="table-contents"><table class="table" summary="Letter to digit VIN conversion table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Conversion value
+ </p>
+ </th>
+<th>
+ <p>
+ 1
+ </p>
+ </th>
+<th>
+ <p>
+ 2
+ </p>
+ </th>
+<th>
+ <p>
+ 3
+ </p>
+ </th>
+<th>
+ <p>
+ 4
+ </p>
+ </th>
+<th>
+ <p>
+ 5
+ </p>
+ </th>
+<th>
+ <p>
+ 6
+ </p>
+ </th>
+<th>
+ <p>
+ 7
+ </p>
+ </th>
+<th>
+ <p>
+ 8
+ </p>
+ </th>
+<th>
+ <p>
+ 9
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ </td>
+<td>
+ <p>
+ A (1)
+ </p>
+ </td>
+<td>
+ <p>
+ B (2)
+ </p>
+ </td>
+<td>
+ <p>
+ C (3)
+ </p>
+ </td>
+<td>
+ <p>
+ D (4)
+ </p>
+ </td>
+<td>
+ <p>
+ E (5)
+ </p>
+ </td>
+<td>
+ <p>
+ F (6)
+ </p>
+ </td>
+<td>
+ <p>
+ G (7)
+ </p>
+ </td>
+<td>
+ <p>
+ H (8)
+ </p>
+ </td>
+<td>
+ <p>
+ I (N/A)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ </td>
+<td>
+ <p>
+ J (10)
+ </p>
+ </td>
+<td>
+ <p>
+ K (11)
+ </p>
+ </td>
+<td>
+ <p>
+ L (12)
+ </p>
+ </td>
+<td>
+ <p>
+ M (13)
+ </p>
+ </td>
+<td>
+ <p>
+ N (14)
+ </p>
+ </td>
+<td>
+ <p>
+ O (N/A)
+ </p>
+ </td>
+<td>
+ <p>
+ P (16)
+ </p>
+ </td>
+<td>
+ <p>
+ Q (N/A)
+ </p>
+ </td>
+<td>
+ <p>
+ R (18)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ S (19)
+ </p>
+ </td>
+<td>
+ <p>
+ T (20)
+ </p>
+ </td>
+<td>
+ <p>
+ U (21)
+ </p>
+ </td>
+<td>
+ <p>
+ V (22)
+ </p>
+ </td>
+<td>
+ <p>
+ W (23)
+ </p>
+ </td>
+<td>
+ <p>
+ X (24)
+ </p>
+ </td>
+<td>
+ <p>
+ Y (25)
+ </p>
+ </td>
+<td>
+ <p>
+ Z (26)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ We need to find an algorithm that converts a letter into its conversion
+ value, the following function does the job:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">X</span> <span class="special">=</span> <span class="identifier">X</span> <span class="special">%</span> <span class="number">10</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">/</span><span class="number">10</span> <span class="special">+</span> <span class="special">((</span><span class="identifier">X</span> <span class="special">&gt;</span> <span class="number">18</span><span class="special">)</span> <span class="special">?</span> <span class="number">1</span> <span class="special">:</span> <span class="number">0</span><span class="special">).</span>
+</pre>
+<p>
+ </p>
+<p>
+ Also the check digit can only be in the range [0..9,X], so we choose to
+ launch the std::invalid_argument exception if another letter is read. With
+ the check digit, and following the modulus 11 algorithm, if the check digit
+ is equal to X, the integer value is 10. But this algorithm is different
+ and we must subtract the check digit from 11.
+ </p>
+<p>
+ Let's see the code now:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">value</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="keyword">int</span> <span class="identifier">translate_to_valid_value</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value</span> <span class="special">&amp;</span><span class="identifier">current_value</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">valid_value_counter</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">valid_value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">current_value</span> <span class="special">)</span> <span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_lexical_cast</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Transform the value to be between 1 and 26.</span>
+ <span class="keyword">if</span><span class="special">(</span> <span class="identifier">current_value</span> <span class="special">&gt;=</span> <span class="char">'a'</span> <span class="special">&amp;&amp;</span> <span class="identifier">current_value</span> <span class="special">&lt;=</span> <span class="char">'z'</span> <span class="special">)</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="identifier">current_value</span> <span class="special">-</span> <span class="char">'a'</span> <span class="special">+</span> <span class="number">1</span> <span class="special">;</span>
+ <span class="keyword">else</span> <span class="keyword">if</span><span class="special">(</span> <span class="identifier">current_value</span> <span class="special">&gt;=</span> <span class="char">'A'</span> <span class="special">&amp;&amp;</span> <span class="identifier">current_value</span> <span class="special">&lt;=</span> <span class="char">'Z'</span> <span class="special">)</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="identifier">current_value</span> <span class="special">-</span> <span class="char">'A'</span> <span class="special">+</span> <span class="number">1</span> <span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">translation_exception</span><span class="special">()</span> <span class="special">;</span>
+
+ <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">valid_value</span> <span class="special">==</span> <span class="number">9</span> <span class="special">||</span> <span class="identifier">valid_value</span> <span class="special">==</span> <span class="number">15</span> <span class="special">||</span> <span class="identifier">valid_value</span> <span class="special">==</span> <span class="number">17</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span><span class="special">(</span> <span class="string">"The letter I, O and Q are not allowed."</span> <span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">valid_value_counter</span> <span class="special">==</span> <span class="identifier">VIN_CHECKDIGIT_POS</span> <span class="special">&amp;&amp;</span> <span class="identifier">number_of_virtual_value_skipped</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span> <span class="identifier">valid_value</span> <span class="special">!=</span> <span class="number">24</span> <span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span><span class="special">(</span> <span class="string">"The check digit should be a digit or X or x."</span> <span class="special">);</span>
+ <span class="keyword">else</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="number">10</span> <span class="special">;</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="number">11</span> <span class="special">-</span> <span class="identifier">valid_value</span> <span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="identifier">valid_value</span> <span class="special">=</span> <span class="identifier">valid_value</span> <span class="special">%</span> <span class="number">10</span> <span class="special">+</span> <span class="identifier">valid_value</span> <span class="special">/</span> <span class="number">10</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">valid_value</span> <span class="special">&gt;</span> <span class="number">18</span><span class="special">)</span> <span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">if</span><span class="special">(</span> <span class="identifier">valid_value</span> <span class="special">&gt;</span> <span class="number">10</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">translation_exception</span><span class="special">()</span> <span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="identifier">valid_value</span> <span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ The operation function is partially copied from the function <code class="computeroutput"><span class="identifier">operate_on_valid_value</span></code> in the file weighted_sum.hpp.
+ We need to control the fact that the check digit is in the midst of the
+ number. If there is a check digit into the sequence, we mustn't apply a
+ weight, and we must avoid shift of the full weight sequence for the future
+ iteration.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">operate_on_valid_value</span><span class="special">(</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">current_valid_value</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">valid_value_counter</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">&amp;</span><span class="identifier">checksum</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span> <span class="identifier">number_of_virtual_value_skipped</span> <span class="special">==</span> <span class="number">0</span> <span class="special">&amp;&amp;</span> <span class="identifier">valid_value_counter</span> <span class="special">==</span> <span class="identifier">VIN_CHECKDIGIT_POS</span> <span class="special">)</span>
+ <span class="identifier">checksum</span> <span class="special">+=</span> <span class="identifier">current_valid_value</span> <span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">weight_position</span> <span class="special">=</span> <span class="identifier">valid_value_counter</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">number_of_virtual_value_skipped</span> <span class="special">==</span> <span class="number">0</span> <span class="special">&amp;&amp;</span> <span class="identifier">valid_value_counter</span> <span class="special">&gt;</span> <span class="identifier">VIN_CHECKDIGIT_POS</span><span class="special">)</span> <span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">current_weight</span> <span class="special">=</span> <span class="identifier">vin_weight</span><span class="special">::</span><span class="identifier">weight_associated_with_pos</span><span class="special">(</span> <span class="identifier">weight_position</span> <span class="special">)</span> <span class="special">;</span>
+ <span class="identifier">checksum</span> <span class="special">+=</span> <span class="identifier">current_valid_value</span> <span class="special">*</span> <span class="identifier">current_weight</span> <span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ Finally the calculation of the check digit is different from the classic
+ modulus 11 algorithm, so we need to re-implement it:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">checkdigit</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="keyword">typename</span> <span class="identifier">checkdigit</span> <span class="identifier">compute_checkdigit</span><span class="special">(</span> <span class="keyword">int</span> <span class="identifier">checksum</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">modulus11_algorithm</span><span class="special">&lt;</span><span class="identifier">vin_weight</span><span class="special">,</span> <span class="identifier">vin_sense</span><span class="special">,</span> <span class="identifier">number_of_virtual_value_skipped</span><span class="special">&gt;</span> <span class="identifier">mod11</span> <span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">mod11</span><span class="special">::</span><span class="identifier">translate_checkdigit</span><span class="special">&lt;</span><span class="identifier">checkdigit</span><span class="special">&gt;(</span><span class="identifier">checksum</span> <span class="special">%</span> <span class="number">11</span><span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ We can now write the VIN type algorithm:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">vin_algorithm</span> <span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="identifier">vin_check_algorithm</span> <span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">vin_algorithm</span> <span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;</span> <span class="identifier">vin_compute_algorithm</span> <span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ And write the functions:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">check_range</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">check_vin</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">check_range</span><span class="special">&amp;</span> <span class="identifier">check_seq</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_sequence</span><span class="special">&lt;</span><span class="identifier">vin_check_algorithm</span><span class="special">,</span> <span class="identifier">VIN_SIZE</span><span class="special">&gt;</span> <span class="special">(</span> <span class="identifier">check_seq</span> <span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">check_range</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">vin_compute_algorithm</span><span class="special">::</span><span class="identifier">checkdigit</span><span class="special">&lt;</span><span class="identifier">check_range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">compute_vin</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">check_range</span><span class="special">&amp;</span> <span class="identifier">check_seq</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_checkdigit</span><span class="special">&lt;</span><span class="identifier">vin_compute_algorithm</span><span class="special">,</span> <span class="identifier">VIN_SIZE_WITHOUT_CHECKDIGIT</span><span class="special">&gt;</span> <span class="special">(</span> <span class="identifier">check_seq</span> <span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This algorithm doesn't support full integer array that are not pre-computed
+ (Example: (A) 10 -&gt; 1 ; (M) 13 -&gt; 4). It can be an exercise for
+ the reader.
+ </p></td></tr>
+</table></div>
+<p>
+ Some basic examples are coded in the file checks_tutorial.cpp:
+ </p>
+<p>
+ [vin_example]
+ </p>
+<p>
+ that provides the following output:
+ </p>
+<p>
+ [vin_example_output]
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="start.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/isbn_example.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/isbn_example.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ISBN example</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost.Checks">
+<link rel="up" href="../tutorial.html" title="Tutorial Examples">
+<link rel="prev" href="../tutorial.html" title="Tutorial Examples">
+<link rel="next" href="../tips.html" title="Hints and Tips">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tips.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.tutorial.isbn_example"></a><a class="link" href="isbn_example.html" title="ISBN example">ISBN example</a>
+</h4></div></div></div>
+<p>
+ Here is a really trivial example of making an ISBN check and also computing
+ the check digit.
+ </p>
+<p>
+ First we need to include the appropriate file including the check and compute
+ functions.
+ </p>
+<p>
+ Then assuming that the ISBN is in a <code class="computeroutput">std::string</code>, we can check
+ a complete ISBN, and also compute the check digit from one lacking the
+ check digit.
+ </p>
+<p>
+ This provides this output:
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tips.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/start.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/tutorial/start.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,281 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Starting with Checks</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Boost_Checks">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="../tutorial.html" title="Tutorial">
+<link rel="next" href="extending_the_library.html" title="Extending the library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="extending_the_library.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_checks.checks.tutorial.start"></a><a class="link" href="start.html" title="Starting with Checks">Starting with Checks</a>
+</h4></div></div></div>
+<p>
+ There are two main functions for each check system.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ to validate a sequence: <code class="computeroutput"><span class="identifier">check_</span><span class="special">&lt;</span><span class="identifier">number</span><span class="special">&gt;</span></code>.
+ </li>
+<li>
+ to provides a check digit for a sequence: <code class="computeroutput"><span class="identifier">compute_</span><span class="special">&lt;</span><span class="identifier">number</span><span class="special">&gt;</span></code>.
+ </li>
+</ul></div>
+<p>
+ All the examples of this section are in the file checks_examples.cpp.
+ </p>
+<a name="boost_checks.checks.tutorial.start.credit_card_numbers_check"></a><h6>
+<a name="boost_checks.checks.tutorial.start.credit_card_numbers_check-heading"></a>
+ <a class="link" href="start.html#boost_checks.checks.tutorial.start.credit_card_numbers_check">Credit
+ card numbers check</a>
+ </h6>
+<p>
+ We will start with some credit card numbers checking.
+ </p>
+<p>
+ Please first include these headers:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">visa</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">amex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">mastercard</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Three credit card checks are implemented: <a href="http://en.wikipedia.org/wiki/Visa_credit_card" target="_top">Visa
+ credit card</a>, <a href="http://en.wikipedia.org/wiki/Mastercard" target="_top">Mastercard
+ credit card</a>, and American Express. The following examples show
+ us how to compute and check numbers:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">visa_credit_card_number</span> <span class="special">=</span> <span class="string">"4000 0807 0620 0007"</span> <span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_visa</span><span class="special">(</span> <span class="identifier">visa_credit_card_number</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The VISA credit card number : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">visa_credit_card_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is valid."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">amex_credit_card_number</span> <span class="special">=</span> <span class="string">"3458 2531 9273 09"</span> <span class="special">;</span>
+<span class="keyword">char</span> <span class="identifier">amex_checkdigit</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_amex</span><span class="special">(</span> <span class="identifier">amex_credit_card_number</span> <span class="special">)</span> <span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The check digit of the American Express number : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">amex_credit_card_number</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">amex_checkdigit</span> <span class="special">&lt;&lt;</span> <span class="string">"."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">mastercard_credit_card_number</span> <span class="special">=</span> <span class="string">"5320 1274 8562 157"</span> <span class="special">;</span>
+<span class="identifier">mastercard_credit_card_number</span> <span class="special">+=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_mastercard</span><span class="special">(</span> <span class="identifier">mastercard_credit_card_number</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"This is a valid Mastercard number : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mastercard_credit_card_number</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ This provides the output:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">VISA</span> <span class="identifier">credit</span> <span class="identifier">card</span> <span class="identifier">number</span> <span class="special">:</span> <span class="number">4000</span> <span class="number">0807</span> <span class="number">0620</span> <span class="number">0007</span> <span class="identifier">is</span> <span class="identifier">valid</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">check</span> <span class="identifier">digit</span> <span class="identifier">of</span> <span class="identifier">the</span> <span class="identifier">American</span> <span class="identifier">Express</span> <span class="identifier">number</span> <span class="special">:</span> <span class="number">3458</span> <span class="number">2531</span> <span class="number">9273</span> <span class="number">09</span> <span class="identifier">is</span> <span class="number">4.</span>
+<span class="identifier">This</span> <span class="identifier">is</span> <span class="identifier">a</span> <span class="identifier">valid</span> <span class="identifier">Mastercard</span> <span class="identifier">number</span> <span class="special">:</span> <span class="number">5320</span> <span class="number">1274</span> <span class="number">8562</span> <span class="number">1570</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.tutorial.start.multi_check_digits"></a><h6>
+<a name="boost_checks.checks.tutorial.start.multi_check_digits-heading"></a>
+ <a class="link" href="start.html#boost_checks.checks.tutorial.start.multi_check_digits">Multi
+ check digits</a>
+ </h6>
+<p>
+ Some checks use two check digits, for example, the mod97-10 algorithm used
+ to calculate the check digits of the <a href="http://en.wikipedia.org/wiki/International_Bank_Account_Number" target="_top">International
+ Bank Account Number (IBAN)</a>.
+ </p>
+<p>
+ We add an extra parameter to retrieve the two check digits. The include
+ file is:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">modulus97</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ and the next example shows us how to use this function:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">mod97_10_number</span> <span class="special">=</span> <span class="string">"1234567890123456789"</span> <span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">mod97_10_checkdigits</span> <span class="special">=</span> <span class="string">" "</span> <span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_mod97_10</span> <span class="special">(</span> <span class="identifier">mod97_10_number</span> <span class="special">,</span> <span class="identifier">mod97_10_checkdigits</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">)</span> <span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The number : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mod97_10_number</span> <span class="special">&lt;&lt;</span> <span class="string">" have the check digits : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mod97_10_checkdigits</span> <span class="special">&lt;&lt;</span> <span class="string">"."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+<span class="identifier">mod97_10_number</span> <span class="special">=</span> <span class="string">"85212547851652 "</span> <span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_mod97_10</span> <span class="special">(</span> <span class="identifier">mod97_10_number</span> <span class="special">,</span> <span class="identifier">mod97_10_number</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span> <span class="special">-</span> <span class="number">2</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"A complete mod97-10 number : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mod97_10_number</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ which provides the output:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">number</span> <span class="special">:</span> <span class="number">1234567890123456789</span> <span class="identifier">have</span> <span class="identifier">the</span> <span class="identifier">check</span> <span class="identifier">digits</span> <span class="special">:</span> <span class="number">68.</span>
+<span class="identifier">A</span> <span class="identifier">complete</span> <span class="identifier">mod97</span><span class="special">-</span><span class="number">10</span> <span class="identifier">number</span> <span class="special">:</span> <span class="number">8521254785165211</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.tutorial.start.catching_errors"></a><h6>
+<a name="boost_checks.checks.tutorial.start.catching_errors-heading"></a>
+ <a class="link" href="start.html#boost_checks.checks.tutorial.start.catching_errors">Catching
+ errors</a>
+ </h6>
+<p>
+ We will now see how the library reacts with simple errors. The first error
+ is that the number of characters (size of sequence) doesn't fit the requirements.
+ The second error shows that some number must respect pattern, here the
+ three first digit of an ISBN-13 must be "978" or "979".
+ An exception is throwed if any one of these errors are encountered. We
+ will use the <a href="http://en.wikipedia.org/wiki/European_Article_Number" target="_top">International
+ Article Number (EAN)</a> and <a href="http://en.wikipedia.org/wiki/Isbn" target="_top">International
+ Standard Book Number (ISBN)</a> headers:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">ean</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">isbn</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Two examples of number error:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">ean13_number</span> <span class="special">=</span> <span class="string">"540011301748"</span> <span class="special">;</span> <span class="comment">// Incorrect size.</span>
+<span class="keyword">try</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_ean13</span> <span class="special">(</span> <span class="identifier">ean13_number</span> <span class="special">)</span> <span class="special">;</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span> <span class="identifier">e</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+<span class="special">}</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">isbn13_number</span> <span class="special">=</span> <span class="string">"977-0321227256"</span> <span class="special">;</span> <span class="comment">// Third digit altered.</span>
+<span class="keyword">try</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">check_isbn13</span><span class="special">(</span> <span class="identifier">isbn13_number</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span> <span class="identifier">e</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+<span class="special">}</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ The output shows us the detailed message the exception provides:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">Too</span> <span class="identifier">few</span> <span class="keyword">or</span> <span class="identifier">too</span> <span class="identifier">much</span> <span class="identifier">valid</span> <span class="identifier">values</span> <span class="identifier">in</span> <span class="identifier">the</span> <span class="identifier">sequence</span><span class="special">.</span>
+<span class="identifier">The</span> <span class="identifier">third</span> <span class="identifier">digit</span> <span class="identifier">should</span> <span class="identifier">be</span> <span class="number">8</span> <span class="keyword">or</span> <span class="number">9.</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_checks.checks.tutorial.start.and_with_integer_array"></a><h6>
+<a name="boost_checks.checks.tutorial.start.and_with_integer_array-heading"></a>
+ <a class="link" href="start.html#boost_checks.checks.tutorial.start.and_with_integer_array">And
+ with integer array</a>
+ </h6>
+<p>
+ The C-arrays of integers are also supported. In the other examples, we
+ check "number" but with an ASCII code, we can use integer value
+ as well. The following will show us the result of the computation of two
+ same numbers but in different format. We'll use the header:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">isbn</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ And the examples:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">isbn10_number</span> <span class="special">=</span> <span class="string">"020163371"</span> <span class="special">;</span> <span class="comment">// More Effective C++: 35 New Ways to Improve Your Programs and Designs, Scott Meyers.</span>
+<span class="keyword">int</span> <span class="identifier">isbn10_integer_number</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">7</span><span class="special">,</span><span class="number">1</span><span class="special">}</span> <span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ISBN10 : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">isbn10_number</span> <span class="special">&lt;&lt;</span> <span class="string">". Check digit : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_isbn10</span><span class="special">(</span> <span class="identifier">isbn10_number</span> <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ISBN10 integer version. Check digit : "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">checks</span><span class="special">::</span><span class="identifier">compute_isbn10</span><span class="special">(</span> <span class="identifier">isbn10_integer_number</span> <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ As you can see in the output, the "X" check digit is represented
+ by its integer value (10) with the integer C-array:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">ISBN10</span> <span class="special">:</span> <span class="number">020163371</span><span class="special">.</span> <span class="identifier">Check</span> <span class="identifier">digit</span> <span class="special">:</span> <span class="identifier">X</span>
+<span class="identifier">ISBN10</span> <span class="identifier">integer</span> <span class="identifier">version</span><span class="special">.</span> <span class="identifier">Check</span> <span class="identifier">digit</span> <span class="special">:</span> <span class="number">10</span>
+
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="extending_the_library.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/universal_product_code__upc__checking.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/universal_product_code__upc__checking.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Universal Product Code (UPC) checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="isbn_checking/synopsis.html" title="Synopsis">
+<link rel="next" href="international_article_number__ean__checking.html" title="International Article Number (EAN) checking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isbn_checking/synopsis.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="international_article_number__ean__checking.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.universal_product_code__upc__checking"></a><a class="link" href="universal_product_code__upc__checking.html" title="Universal Product Code (UPC) checking">Universal
+ Product Code (UPC) checking</a>
+</h3></div></div></div>
+<p>
+ UPC is a sub-set of <a href="http://en.wikipedia.org/wiki/European_Article_Number" target="_top">International
+ Article Number (EAN)</a> - see <a href="http://en.wikipedia.org/wiki/Universal_Product_Code" target="_top">Universal
+ Product Code (UPC)</a>.
+ </p>
+<p>
+ The original UPC is still in use and has 12 decimal digits, for example,
+ a UPC for a box of tissues)
+ </p>
+<p>
+ "03600029145X" where X is the check digit, in this case having
+ a value of 2.
+ </p>
+<p>
+ On products, it is usually printed as a barcode, but the decimal digits are
+ visible too.
+ </p>
+<p>
+ <a href="http://en.wikipedia.org/wiki/File:UPC_EANUCC-12_barcode.svg" target="_top">UPC
+ EANUCC 12 barcode</a>
+ </p>
+<p>
+ <span class="inlinemediaobject"><object type="image/svg+xml" data="../../image UPC_EANUCC-12_barcode.svg" width="354"></object></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isbn_checking/synopsis.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="international_article_number__ean__checking.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/upc.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/upc.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Universal Product Code (UPC) checking</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="isbn/synposis.html" title="Synopsis">
+<link rel="next" href="ean.html" title="International Article Number (EAN) checking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isbn/synposis.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ean.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.upc"></a><a class="link" href="upc.html" title="Universal Product Code (UPC) checking">Universal Product Code (UPC)
+ checking</a>
+</h3></div></div></div>
+<p>
+ UPC is a sub-set of <a href="http://en.wikipedia.org/wiki/European_Article_Number" target="_top">International
+ Article Number (EAN)</a> - see <a href="http://en.wikipedia.org/wiki/Universal_Product_Code" target="_top">Universal
+ Product Code (UPC)</a>.
+ </p>
+<p>
+ The original UPC is still in use and has 12 decimal digits, for example,
+ a UPC for a box of tissues)
+ </p>
+<p>
+ "03600029145X" where X is the check digit, in this case having
+ a value of 2.
+ </p>
+<p>
+ On products, it is usually printed as a barcode, but the decimal digits are
+ visible too.
+ </p>
+<p>
+ <a href="http://en.wikipedia.org/wiki/File:UPC_EANUCC-12_barcode.svg" target="_top">UPC
+ EANUCC 12 barcode</a>
+ </p>
+<p>
+ This is a local copy of the barcode:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../images/UPC_EANUCC-12_barcode.png" alt="UPC_EANUCC-12_barcode"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isbn/synposis.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ean.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/version_id.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/checks/version_id.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Version Info</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost_Checks">
+<link rel="up" href="../checks.html" title="Boost.Checks">
+<link rel="prev" href="history.html" title="History">
+<link rel="next" href="../../checks_reference.html" title="Checks Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../checks_reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.checks.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
+</h3></div></div></div>
+<p>
+ Last edit to Quickbook file checks.qbk was at 06:41:23 PM on 2011-Aug-23.
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Home page "Last revised" is GMT, not local time. Last edit date
+ is local time.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../checks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../checks_reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/isbn_checking/synopsis.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/isbn_checking/synopsis.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Boost.Checks">
+<link rel="up" href="../isbn_checking.html" title="ISBN checking">
+<link rel="prev" href="../isbn_checking.html" title="ISBN checking">
+<link rel="next" href="../../checks_reference.html" title="Checks Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../.././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn_checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn_checking.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../checks_reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_checks.isbn_checking.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="comment">/**
+ * This function checks if a `isbn' is a valid ISBN.
+ */</span>
+<span class="keyword">bool</span> <span class="identifier">is_isbn</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">isbn</span><span class="special">);</span>
+
+<span class="comment">/**
+ * This function computes and returns the check digit for a given 9 digit ISBN in `isbn'.
+ */</span>
+<span class="keyword">char</span> <span class="identifier">isbn_check_digit</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">isbn</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../isbn_checking.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../isbn_checking.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../checks_reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/version_id.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boost_checks/version_id.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Version Info</title>
+<link rel="stylesheet" href=".././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost.Checks">
+<link rel="up" href="../index.html" title="Boost.Checks">
+<link rel="prev" href="../header/boost/checks/VISACheck_hpp.html" title="Header &lt;boost/checks/VISACheck.hpp&gt;">
+<link rel="next" href="../index/s04.html" title="Class Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src=".././images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../header/boost/checks/VISACheck_hpp.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../index/s04.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_checks.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
+</h2></div></div></div>
+<p>
+ Last edit to Quickbook file I:\boost-sandbox\SOC\2011\checks\libs\checks\doc\checks.qbk
+ was at 05:13:45 PM on 2011-Jun-13.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This version information should appear on the pdf version (but is redundant
+ on html where the last revised date is on the bottom line of the home page).
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Home page "Last revised" is GMT, not local time. Last edit date
+ is local time.
+ </p></td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It does not give the last edit date of other included .qbk files, so may
+ mislead!
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../header/boost/checks/VISACheck_hpp.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../index/s04.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/boostbook - Copy.css
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/boostbook - Copy.css 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,611 @@
+/*=============================================================================
+ Copyright (c) 2004 Joel de Guzman
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompany-
+ ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+ Body defaults
+=============================================================================*/
+
+ body
+ {
+ margin: 1em;
+ font-family: sans-serif;
+ }
+
+/*=============================================================================
+ Paragraphs
+=============================================================================*/
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+/*=============================================================================
+ Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 9pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 9pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 9pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ /* Program listings in tables don't get borders */
+ td .programlisting,
+ td .screen
+ {
+ margin: 0pc 0pc 0pc 0pc;
+ padding: 0pc 0pc 0pc 0pc;
+ }
+
+/*=============================================================================
+ Headings
+=============================================================================*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font-size: 140%; }
+ h2 { font-weight: bold; font-size: 140%; }
+ h3 { font-weight: bold; font-size: 130%; }
+ h4 { font-weight: bold; font-size: 120%; }
+ h5 { font-weight: normal; font-style: italic; font-size: 110%; }
+ h6 { font-weight: normal; font-style: italic; font-size: 100%; }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 130% }
+ h5 tt.computeroutput { font-size: 130% }
+ h6 tt.computeroutput { font-size: 130% }
+
+
+/*=============================================================================
+ Author
+=============================================================================*/
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+/*=============================================================================
+ Lists
+=============================================================================*/
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+/*=============================================================================
+ Links
+=============================================================================*/
+
+ a
+ {
+ text-decoration: none; /* no underline */
+ }
+
+ a:hover
+ {
+ text-decoration: underline;
+ }
+
+/*=============================================================================
+ Spirit style navigation
+=============================================================================*/
+
+ .spirit-nav
+ {
+ text-align: right;
+ }
+
+ .spirit-nav a
+ {
+ color: white;
+ padding-left: 0.5em;
+ }
+
+ .spirit-nav img
+ {
+ border-width: 0px;
+ }
+
+/*=============================================================================
+ Copyright footer
+=============================================================================*/
+ .copyright-footer
+ {
+ text-align: right;
+ font-size: 70%;
+ }
+
+ .copyright-footer p
+ {
+ text-align: right;
+ font-size: 80%;
+ }
+
+/*=============================================================================
+ Table of contents
+=============================================================================*/
+
+ .toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 80%;
+ line-height: 1.15;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+ /* Code on toc */
+ .toc .computeroutput { font-size: 120% }
+
+ /* No margin on nested menus */
+
+ .toc dl dl { margin: 0; }
+
+/*=============================================================================
+ Tables
+=============================================================================*/
+
+ .table-title,
+ div.table p.title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ div.informaltable table,
+ div.table table
+ {
+ padding: 4px;
+ }
+
+ /* Table Cells */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ padding: 0.5em;
+ text-align: left;
+ font-size: 9pt;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+ font-size: 80%;
+ }
+
+ table.simplelist
+ {
+ width: auto !important;
+ margin: 0em !important;
+ padding: 0em !important;
+ border: none !important;
+ }
+ table.simplelist td
+ {
+ margin: 0em !important;
+ padding: 0em !important;
+ text-align: left !important;
+ font-size: 9pt !important;
+ border: none !important;
+ }
+
+/*=============================================================================
+ Blurbs
+=============================================================================*/
+
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ font-size: 9pt; /* A little bit smaller than the main text */
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ p.blurb img
+ {
+ padding: 1pt;
+ }
+
+/*=============================================================================
+ Variable Lists
+=============================================================================*/
+
+ div.variablelist
+ {
+ margin: 1em 0;
+ }
+
+ /* Make the terms in definition lists bold */
+ div.variablelist dl dt,
+ span.term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+ div.variablelist dl dt
+ {
+ margin-bottom: 0.2em;
+ }
+
+ div.variablelist dl dd
+ {
+ margin: 0em 0em 0.5em 2em;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td p,
+ div.variablelist dl dd p
+ {
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+/*=============================================================================
+ Misc
+=============================================================================*/
+
+ /* Title of books and articles in bibliographies */
+ span.title
+ {
+ font-style: italic;
+ }
+
+ span.underline
+ {
+ text-decoration: underline;
+ }
+
+ span.strikethrough
+ {
+ text-decoration: line-through;
+ }
+
+ /* Copyright, Legal Notice */
+ div div.legalnotice p
+ {
+ text-align: left
+ }
+
+/*=============================================================================
+ Colors
+=============================================================================*/
+
+ @media screen
+ {
+ body {
+ background-color: #FFFFFF;
+ color: #000000;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #402080; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #FFFFFF; }
+ .dk_grey_bkd { background-color: #999999; }
+
+ /* Links */
+ a, a .keyword, a .identifier, a .special, a .preprocessor
+ a .char, a .comment, a .string, a .number
+ {
+ color: #005a9c;
+ }
+
+ a:visited, a:visited .keyword, a:visited .identifier,
+ a:visited .special, a:visited .preprocessor a:visited .char,
+ a:visited .comment, a:visited .string, a:visited .number
+ {
+ color: #9c5a9c;
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ }
+
+ /* Copyright, Legal Notice */
+ .copyright
+ {
+ color: #666666;
+ font-size: small;
+ }
+
+ div div.legalnotice p
+ {
+ color: #666666;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Blurbs */
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ background-color: #F0F0F0;
+ border: 1px solid #DCDCDC;
+ }
+
+ .copyright-footer
+ {
+ color: #8F8F8F;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ color: #00A000;
+ }
+ }
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid gray;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid gray;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ border: 1px solid gray;
+ border-collapse: collapse;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid gray;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ border: 1px solid gray;
+ }
+
+ table.simplelist tr td
+ {
+ border: none !important;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }
+
+/*=============================================================================
+ Images
+=============================================================================*/
+
+ span.inlinemediaobject img
+ {
+ vertical-align: middle;
+ }
+
+/*==============================================================================
+ Super and Subscript: style so that line spacing isn't effected, see
+ http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
+==============================================================================*/
+
+sup,
+sub {
+ height: 0;
+ line-height: 1;
+ vertical-align: baseline;
+ position: relative;
+
+}
+
+/* For internet explorer: */
+
+* html sup,
+* html sub {
+ vertical-align: bottom;
+}
+
+sup {
+ bottom: 1ex;
+}
+
+sub {
+ top: .5ex;
+}
+

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -50,6 +50,7 @@
 <dt><span class="section">Luhn algorithm</span></dt>
 <dt><span class="section">Modulus 10 algorithm</span></dt>
 <dt><span class="section">Modulus 11 algorithm</span></dt>
+<dt><span class="section">Verhoeff Algorithm</span></dt>
 <dt><span class="section">Summary of Algorithms</span></dt>
 </dl></dd>
 <dt><span class="section">Acknowledgements</span></dt>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/acks.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/acks.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/acks.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -26,13 +26,20 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="checks.checks.acks"></a><a class="link" href="acks.html" title="Acknowledgements">Acknowledgements</a>
 </h3></div></div></div>
+<p>
+ The author thanks
+ </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- Thanks to Paul A. Bristow who is the mentor of this Google Summer of
- Code project for his infinite patience and his wise advice.
+ Paul A. Bristow who was the mentor of this Google Summer of Code project
+ for his infinite patience and his wise advice.
+ </li>
+<li>
+ Google for funding this Google Summer of Code 2011 project.
           </li>
 <li>
- Thanks for Google for funding this Google Summer of Code 2011 project.
+ Joseph A Gallian for his assistance with tables of values for the Verhoeff
+ algorithm.
           </li>
 </ul></div>
 </div>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/history.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/history.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/history.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -32,7 +32,7 @@
             Project.
           </li>
 <li>
- First release in Boost Sandbox for public comment Aug 2011.
+ First Boost Sandbox release for public comment Sep 2011.
           </li>
 </ol></div>
 </div>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -30,6 +30,7 @@
 <dt><span class="section">Luhn algorithm</span></dt>
 <dt><span class="section">Modulus 10 algorithm</span></dt>
 <dt><span class="section">Modulus 11 algorithm</span></dt>
+<dt><span class="section">Verhoeff Algorithm</span></dt>
 <dt><span class="section">Summary of Algorithms</span></dt>
 </dl></div>
 <p>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/acks.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/acks.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="verhoeff/summary.html" title="Summary of Algorithms">
+<link rel="next" href="refs.html" title="References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="verhoeff/summary.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.acks"></a><a class="link" href="acks.html" title="Acknowledgements">Acknowledgements</a>
+</h4></div></div></div>
+<p>
+ The author thanks
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Paul A. Bristow who was the mentor of this Google Summer of Code project
+ for his infinite patience and his wise advice.
+ </li>
+<li>
+ Google for funding this Google Summer of Code 2011 project.
+ </li>
+<li>
+ Joseph A Gallian for his assistance with tables of values for the Verhoeff
+ algorithm.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="verhoeff/summary.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/history.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/history.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="version_id.html" title="Version Info">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.history"></a><a class="link" href="history.html" title="History">History</a>
+</h4></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ Project started by Pierre Talbot June 2011 as a Google Summer of Code
+ Project.
+ </li>
+<li>
+ First Boost Sandbox release for public comment Sep 2011.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="version_id.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/mod11.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/mod11.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/mod11.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Checks">
 <link rel="up" href="../modulus.html" title="Modular sum algorithms">
 <link rel="prev" href="mod10.html" title="Modulus 10 algorithm">
-<link rel="next" href="summary.html" title="Summary of Algorithms">
+<link rel="next" href="verhoeff.html" title="Verhoeff Algorithm">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="verhoeff.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -46,7 +46,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="mod10.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="verhoeff.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/rationale.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="refs.html" title="References">
+<link rel="next" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h4></div></div></div>
+<p>
+ This section records the rationale and compromises for some design decisions.
+ </p>
+<a name="checks.checks.modulus.rationale.scope_of_the_project"></a><h5>
+<a name="checks.checks.modulus.rationale.scope_of_the_project-heading"></a>
+ <a class="link" href="rationale.html#checks.checks.modulus.rationale.scope_of_the_project">Scope
+ of the project</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc"><li>
+ Scott McMurray has identifed four fairly distinct types of check:
+ <div class="orderedlist"><ol type="1">
+<li>
+ ISBN/ISSN/UPC/EAN/VISA/etc, for catching human-entry errors.
+ </li>
+<li>
+ hash functions as in hash tables, which only care about distribution.
+ </li>
+<li>
+ checksums like CRC32, for catching data transmission errors.
+ </li>
+<li>
+ and cryptographic hash functions, the only ones useful against
+ malicious adversaries.
+ </li>
+</ol></div>
+ </li></ul></div>
+<p>
+ This project is directed first at the first class. Others might be the
+ subject of future additions or other libraries.
+ </p>
+<a name="checks.checks.modulus.rationale.function_parameter"></a><h5>
+<a name="checks.checks.modulus.rationale.function_parameter-heading"></a>
+ <a class="link" href="rationale.html#checks.checks.modulus.rationale.function_parameter">Function
+ parameter</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ For more flexibility, this library uses the range concept. So you can
+ use old C-array or std::string,...
+ </li>
+<li>
+ If there is only one check digit in the number, this check digit is
+ returned in the same raw type than in the range sequence.
+ </li>
+<li>
+ If there is more than one check digit, an extra parameter is required.
+ This must be an OutputIterator, the function returns an iterator at
+ one pass the end of the check digit stored into this iterator.
+ </li>
+</ul></div>
+<a name="checks.checks.modulus.rationale.use_of_template_parameters_to_pass_size_and_weights"></a><h5>
+<a name="checks.checks.modulus.rationale.use_of_template_parameters_to_pass_size_and_weights-heading"></a>
+ <a class="link" href="rationale.html#checks.checks.modulus.rationale.use_of_template_parameters_to_pass_size_and_weights">Use
+ of template parameters to pass size and weights</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ This feature means that much of the commonality between the various
+ check systems can be implemented in one place and reused.
+ </li>
+<li>
+ It also makes it possible to implement other check systems (of which
+ there are very many in use worldwide) and to devise new ones without
+ writing new code.
+ </li>
+</ul></div>
+<a name="checks.checks.modulus.rationale.performance"></a><h5>
+<a name="checks.checks.modulus.rationale.performance-heading"></a>
+ <a class="link" href="rationale.html#checks.checks.modulus.rationale.performance">Performance</a>
+ </h5>
+<div class="itemizedlist"><ul type="disc"><li>
+ Performance is not a major objective, but all the current algorithms
+ are implemented with a <span class="emphasis"><em>O(n)</em></span> complexity, where
+ <span class="emphasis"><em>n</em></span> is the number of digits or characters.
+ </li></ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="refs.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/refs.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/refs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="acks.html" title="Acknowledgements">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acks.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.refs"></a><a class="link" href="refs.html" title="References">References</a>
+</h4></div></div></div>
+<div class="orderedlist"><ol type="1">
+<li>
+ <a href="http://en.wikipedia.org/wiki/Routing_transit_number" target="_top">Routing
+ transit number (RTN)</a>
+ </li>
+<li>
+ <a href="http://en.wikipedia.org/wiki/Vehicle_identification_number" target="_top">Vehicle
+ Identification Number (VIN)</a>
+ </li>
+<li>
+ Code 39
+ </li>
+<li>
+ Verhoeff, J, Error Detecting Codes, Mathmatical Centre Tract 29, The
+ Mathematical Centre, Amsterdam 1969.
+ </li>
+<li>
+ H. Peter Gumm, New class of check-digit methods for arbitrary number
+ systems, IEEE Trans. on Information Theory, 31(1985) 102-105.
+ </li>
+<li>
+ Paul Putter, &amp; Neal R Wagner, Communication of ther ACM, Jan 1989,
+ Vol 32, pages 106 - 110. Jonathan Mohr http://www.augustana.ab.ca/~mohrj/
+ </li>
+<li>
+ Numerical Recipes in C++, p 904 - 905W H Press, S A Teukolsky, W T
+ Vettering, B P Flannery, ISBN 0 521 75033 4.
+ </li>
+<li>
+ SNOMED Clinical Terms (First Release Technical Reference Manual)
+ </li>
+<li>
+ First Release (January 2002), Annex B. Check-digit computation, p 30
+ to 34
+ </li>
+<li>
+ http://www.snomed.org/Spanish%20Documents/SNOMEDCT_Core_Technical%20Reference%20Manual_US.pdf
+ uses Jonathan Mohr Javascript checkdigit.htm (copy in checkdigit.txt)
+ based on code at http://www.augustana.ab.ca/~mohrj/algorithms/checkdigit.html
+ </li>
+<li>
+ J A Gallian, Table 3 p 514, Error detection methods, ACM Surveys, 28(3)
+ 504-517 ISSN 0360-0300 (1996)
+ </li>
+<li>
+ J A Gallian &amp; S Winters, American Math Monthly, 95, (1988) Modular
+ Arithmetic in the Marketplace, p 548 - 551, ISSN ?
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acks.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/summary.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/summary.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/summary.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 <link rel="home" href="../../../index.html" title="Checks">
 <link rel="up" href="../modulus.html" title="Modular sum algorithms">
-<link rel="prev" href="mod11.html" title="Modulus 11 algorithm">
+<link rel="prev" href="verhoeff.html" title="Verhoeff Algorithm">
 <link rel="next" href="../acks.html" title="Acknowledgements">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="verhoeff.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -171,7 +171,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="verhoeff.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Verhoeff Algorithm</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="mod11.html" title="Modulus 11 algorithm">
+<link rel="next" href="summary.html" title="Summary of Algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.verhoeff"></a><a class="link" href="verhoeff.html" title="Verhoeff Algorithm">Verhoeff Algorithm</a>
+</h4></div></div></div>
+<p>
+ Verhoeff's check equation catches all single errors, all adjacent transpositions,
+ over 95% of twin errors, over 94% of jump transpositions and jump twin
+ errors, and most phonetic errors.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mod11.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff/summary.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/verhoeff/summary.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,178 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Summary of Algorithms</title>
+<link rel="stylesheet" href="../../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../../index.html" title="Checks">
+<link rel="up" href="../verhoeff.html" title="Verhoeff Algorithm">
+<link rel="prev" href="../verhoeff.html" title="Verhoeff Algorithm">
+<link rel="next" href="../acks.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../verhoeff.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../verhoeff.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="checks.checks.modulus.verhoeff.summary"></a><a class="link" href="summary.html" title="Summary of Algorithms">Summary of
+ Algorithms</a>
+</h5></div></div></div>
+<p>
+ Here a summary of the different algorithms studied.
+ </p>
+<div class="table">
+<a name="checks.checks.modulus.verhoeff.summary.id"></a><p class="title"><b>Table&#160;3.&#160;Summary of the modular sum algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Summary of the modular sum algorithms">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Algorithm
+ </p>
+ </th>
+<th>
+ <p>
+ Modulus
+ </p>
+ </th>
+<th>
+ <p>
+ Weight pattern
+ </p>
+ </th>
+<th>
+ <p>
+ check digit range
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Luhn
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ ... 2 1 2 1
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 10
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ custom
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 11
+ </p>
+ </td>
+<td>
+ <p>
+ 11
+ </p>
+ </td>
+<td>
+ <p>
+ ... 2 1 10 ... 4 3 2 1
+ </p>
+ </td>
+<td>
+ <p>
+ 0..9 + 'X'
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Modulus 97
+ </p>
+ </td>
+<td>
+ <p>
+ 97
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Verhoeff
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../verhoeff.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../verhoeff.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../acks.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/version_id.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/modulus/version_id.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Version Info</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../../index.html" title="Checks">
+<link rel="up" href="../modulus.html" title="Modular sum algorithms">
+<link rel="prev" href="history.html" title="History">
+<link rel="next" href="../../../checks_reference.html" title="Checks Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="" width="180" height="90" src="../../../images/proposed_for_boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../checks_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="checks.checks.modulus.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
+</h4></div></div></div>
+<p>
+ Last edit to Quickbook file checks.qbk was at 03:06:48 PM on 2011-Sep-06.
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Home page "Last revised" is GMT, not local time. Last edit
+ date is local time.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2011 Pierre Talbot<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../checks_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/refs.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/refs.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/refs.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -38,6 +38,45 @@
 <li>
             <a href="http://en.wikipedia.org/wiki/Code_39" target="_top">Code 39</a>
           </li>
+<li>
+ Verhoeff, J, Error Detecting Codes, Mathmatical Centre Tract 29, The
+ Mathematical Centre, Amsterdam 1969.
+ </li>
+<li>
+ Verhoeff_algorithm
+ </li>
+<li>
+ H. Peter Gumm, New class of check-digit methods for arbitrary number
+ systems, IEEE Trans. on Information Theory, 31(1985) 102-105.
+ </li>
+<li>
+ Paul Putter, &amp; Neal R Wagner, Communication of ther ACM, Jan 1989,
+ Vol 32, pages 106 - 110. Jonathan Mohr http://www.augustana.ab.ca/~mohrj/
+ </li>
+<li>
+ Numerical Recipes in C++, p 904 - 905W H Press, S A Teukolsky, W T Vettering,
+ B P Flannery, ISBN 0 521 75033 4.
+ </li>
+<li>
+ SNOMED Clinical Terms (First Release Technical Reference Manual)
+ </li>
+<li>
+ First Release (January 2002), Annex B. Check-digit computation, p 30
+ to 34
+ </li>
+<li>
+ http://www.snomed.org/Spanish%20Documents/SNOMEDCT_Core_Technical%20Reference%20Manual_US.pdf
+ uses Jonathan Mohr Javascript checkdigit.htm (copy in checkdigit.txt)
+ based on code at http://www.augustana.ab.ca/~mohrj/algorithms/checkdigit.html
+ </li>
+<li>
+ J A Gallian, Table 3 p 514, Error detection methods, ACM Surveys, 28(3)
+ 504-517 ISSN 0360-0300 (1996)
+ </li>
+<li>
+ J A Gallian &amp; S Winters, American Math Monthly, 95, (1988) Modular
+ Arithmetic in the Marketplace, p 548 - 551.
+ </li>
 </ol></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/status.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/status.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/status.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -40,7 +40,7 @@
           notice. The current version is available at
         </p>
 <p>
- <span class="bold"><strong>https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/libs/checks/doc/pdf/checks.pdf
+ <span class="bold"><strong>https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/libs/checks/doc/checks.pdf
           PDF documentation.</strong></span>
         </p>
 <p>
@@ -59,8 +59,7 @@
 <th align="left">Note</th>
 </tr>
 <tr><td align="left" valign="top"><p>
- Comments and suggestions (even bugs!) to Pierre Talbot pierre.talbot.6114
- (at) herslibramont (dot) be
+ Comments and suggestions (even bugs!) to Pierre Talbot.
         </p></td></tr>
 </table></div>
 </div>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/tutorial/extending_the_library.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/tutorial/extending_the_library.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/tutorial/extending_the_library.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -29,9 +29,10 @@
 </h4></div></div></div>
 <p>
           The re-usability of this library is an important feature. In fact, we can't
- code every existing check systems, this is why we will learn how to extend
- this library to cater for existing check systems not yet provided, and
- even to create your own check system.
+ code every existing check systems - there are dozens of checksums in use
+ worldwide. This section gives examples of how to extend this library to
+ cater for existing check systems not yet provided, and even to create your
+ own check system.
         </p>
 <a name="checks.checks.tutorial.extending_the_library.example_with_the_routing_transit_number"></a><h6>
 <a name="checks.checks.tutorial.extending_the_library.example_with_the_routing_transit_number-heading"></a>
@@ -606,7 +607,8 @@
           </p></td></tr>
 </table></div>
 <p>
- Some basic examples are coded in the file checks_tutorial.cpp:
+ Some basic examples are coded in the file checks_tutorial.cpp
+ .
         </p>
 <p>
           

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/version_id.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/version_id.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/checks/checks/version_id.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -27,7 +27,7 @@
 <a name="checks.checks.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
 </h3></div></div></div>
 <p>
- Last edit to Quickbook file checks.qbk was at 12:59:37 PM on 2011-Sep-06.
+ Last edit to Quickbook file checks.qbk was at 05:33:14 PM on 2011-Sep-06.
       </p>
 <div class="warning"><table border="0" summary="Warning">
 <tr>

Modified: sandbox/SOC/2011/checks/libs/checks/doc/html/index.html
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/html/index.html (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/html/index.html 2011-09-06 13:07:20 EDT (Tue, 06 Sep 2011)
@@ -28,7 +28,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright &#169; 2011 Pierre Talbot</p></div>
 <div><div class="legalnotice">
-<a name="id887862"></a><p>
+<a name="id875847"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -64,6 +64,7 @@
 <dt><span class="section">Luhn algorithm</span></dt>
 <dt><span class="section">Modulus 10 algorithm</span></dt>
 <dt><span class="section">Modulus 11 algorithm</span></dt>
+<dt><span class="section">Verhoeff Algorithm</span></dt>
 <dt><span class="section">Summary of Algorithms</span></dt>
 </dl></dd>
 <dt><span class="section">Acknowledgements</span></dt>
@@ -103,7 +104,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: September 06, 2011 at 11:59:37 GMT</small></p></td>
+<td align="left"><p><small>Last revised: September 06, 2011 at 16:33:14 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk