Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r82717 - in sandbox/SOC/2011/checks/libs/checks: doc example
From: pierre.talbot.6114_at_[hidden]
Date: 2013-02-06 20:25:14


Author: trademark
Date: 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
New Revision: 82717
URL: http://svn.boost.org/trac/boost/changeset/82717

Log:
Generation of the documentation.
Correction of generation errors.

Added:
   sandbox/SOC/2011/checks/libs/checks/doc/import.qbk (contents, props changed)
   sandbox/SOC/2011/checks/libs/checks/doc/overview.qbk
      - copied, changed from r82653, /sandbox/SOC/2011/checks/libs/checks/doc/description.qbk
Removed:
   sandbox/SOC/2011/checks/libs/checks/doc/description.qbk
Text files modified:
   sandbox/SOC/2011/checks/libs/checks/doc/AutoDoxywarnings.log | 33 +++++++++++++++++-------
   sandbox/SOC/2011/checks/libs/checks/doc/checks.qbk | 54 ++++++++++++++-------------------------
   sandbox/SOC/2011/checks/libs/checks/doc/extending_library.qbk | 53 +++++++++++++++++++--------------------
   sandbox/SOC/2011/checks/libs/checks/doc/internationalization.qbk | 4 +-
   sandbox/SOC/2011/checks/libs/checks/doc/modifying_components.qbk | 8 ++++-
   sandbox/SOC/2011/checks/libs/checks/doc/overview.qbk | 6 ++--
   sandbox/SOC/2011/checks/libs/checks/doc/quickstart.qbk | 14 +++++----
   sandbox/SOC/2011/checks/libs/checks/doc/reference.qbk | 5 +++
   sandbox/SOC/2011/checks/libs/checks/example/amex_example.cpp | 1
   sandbox/SOC/2011/checks/libs/checks/example/checks_tutorial.cpp | 45 +++++++++++++++++++--------------
   sandbox/SOC/2011/checks/libs/checks/example/filter_example.cpp | 9 +++++
   sandbox/SOC/2011/checks/libs/checks/example/rtn.hpp | 28 --------------------
   sandbox/SOC/2011/checks/libs/checks/example/vin.hpp | 28 --------------------
   13 files changed, 127 insertions(+), 161 deletions(-)

Modified: sandbox/SOC/2011/checks/libs/checks/doc/AutoDoxywarnings.log
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/AutoDoxywarnings.log (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/AutoDoxywarnings.log 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -1,5 +1,11 @@
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:83: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_isbn10(const range &x)
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:83: warning: The following parameters of boost::checks::check_isbn10(const range &x) are not documented:
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:69: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_ean13(const check_range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:69: warning: The following parameters of boost::checks::check_ean13(const check_range &x) are not documented:
+ parameter 'x'
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:116: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_ean8(const check_range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:116: warning: The following parameters of boost::checks::check_ean8(const check_range &x) are not documented:
+ parameter 'x'
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:93: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_isbn10(const range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:93: warning: The following parameters of boost::checks::check_isbn10(const range &x) are not documented:
   parameter 'x'
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:40: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_isbn13(const range &x)
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:40: warning: The following parameters of boost::checks::check_isbn13(const range &x) are not documented:
@@ -7,8 +13,8 @@
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:61: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::check_sequence(const range &x)
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:61: warning: The following parameters of boost::checks::check_sequence(const range &x) are not documented:
   parameter 'x'
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:89: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_checkdigit(const range &x)
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:89: warning: The following parameters of boost::checks::compute_checkdigit(const range &x) are not documented:
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:90: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_checkdigit(const range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:90: warning: The following parameters of boost::checks::compute_checkdigit(const range &x) are not documented:
   parameter 'x'
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:29: warning: argument 'seq_begin' of command @param is not found in the argument list of boost::checks::compute_checksum(iterator begin, iterator end, counter_iter &counter)
 /home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/basic_checks.hpp:29: warning: argument 'seq_end' of command @param is not found in the argument list of boost::checks::compute_checksum(iterator begin, iterator end, counter_iter &counter)
@@ -16,11 +22,18 @@
   parameter 'begin'
   parameter 'end'
   parameter 'counter'
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:101: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_isbn10(const range &x)
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:101: warning: The following parameters of boost::checks::compute_isbn10(const range &x) are not documented:
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:92: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_ean13(const check_range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:92: warning: The following parameters of boost::checks::compute_ean13(const check_range &x) are not documented:
+ parameter 'x'
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:139: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_ean8(const check_range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/ean.hpp:139: warning: The following parameters of boost::checks::compute_ean8(const check_range &x) are not documented:
+ parameter 'x'
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:117: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_isbn10(const range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:117: warning: The following parameters of boost::checks::compute_isbn10(const range &x) are not documented:
+ parameter 'x'
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:63: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_isbn13(const range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:63: warning: The following parameters of boost::checks::compute_isbn13(const range &x) are not documented:
   parameter 'x'
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:58: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_isbn13(const range &x)
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/isbn.hpp:58: warning: The following parameters of boost::checks::compute_isbn13(const range &x) are not documented:
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/mastercard.hpp:65: warning: argument 'check_seq' of command @param is not found in the argument list of boost::checks::compute_mastercard(const check_range &x)
+/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/mastercard.hpp:65: warning: The following parameters of boost::checks::compute_mastercard(const check_range &x) are not documented:
   parameter 'x'
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/modulus97.hpp:140: warning: argument 'mod97_checkdigits' of command @param is not found in the argument list of boost::checks::compute_mod97_10(const check_range &check_seq)
-/home/trademark/Boost/boost-sandbox/SOC/2011/checks/boost/checks/modulus97.hpp:162: warning: argument 'mod97_checkdigits' of command @param is not found in the argument list of boost::checks::compute_mod97_10(const check_range &check_seq)

Modified: sandbox/SOC/2011/checks/libs/checks/doc/checks.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/checks.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/checks.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -26,24 +26,12 @@
 [/ Links to source code]
 [def __CHECKS_SRC_CODE [@https://svn.boost.org/svn/boost/sandbox/SOC/2011/checks/boost/checks/boost/ Boost Sandbox checks source code.]]
 
-[def __CHECKS__HIERARCHY__ [$./images/checks/check_hierarchy.png]]
-[def __EXTENDS__LIBRARY__ [link checks.checks.tutorial.extending_the_library Extending the library]]
-
-[def __BASIC__CHECK__FILE__ [@../../../../boost/checks/basic_checks.hpp basic_checks.hpp]]
-[def __WEIGHTED__SUM__FILE__ [@../../../../boost/checks/weighted_sum.hpp weighted_sum.hpp]]
-[def __RTN__FILE__ [@../../example/rtn.hpp rtn.hpp]]
-[def __VIN__FILE__ [@../../example/vin.hpp vin.hpp]]
-[def __CHECKS__TUTO__FILE__ [@../../example/checks_tutorial.cpp checks_tutorial.cpp]]
-[def __CHECKS__EXAMPLE__FILE__ [@../../example/checks_examples.cpp checks_examples.cpp]]
-
 [def __GSOC [@http://code.google.com/soc/2011/boost/about.html Google Summer of Code project (2011)]]
 [def __VISA [@http://en.wikipedia.org/wiki/Visa_credit_card Visa credit card]]
 [def __MASTERCARD [@http://en.wikipedia.org/wiki/Mastercard Mastercard credit card]]
-[def __AMEX [@http://en.wikipedia.org/wiki/American_Express American Express]]
 [def __ISBN [@http://en.wikipedia.org/wiki/Isbn International Standard Book Number (ISBN)]]
 [def __ISSN [@http://en.wikipedia.org/wiki/International_Standard_Serial_Number International Standard Serial Number (ISSN)]]
 [def __IBAN [@http://en.wikipedia.org/wiki/International_Bank_Account_Number International Bank Account Number (IBAN)]]
-[def __CODE39 [@http://en.wikipedia.org/wiki/Code_39 Code 39]]
 [def __EAN [@http://en.wikipedia.org/wiki/European_Article_Number International Article Number (EAN)]]
 
 [/ Links to C++ reference.]
@@ -54,18 +42,17 @@
 [def __VIN__ [@http://en.wikipedia.org/wiki/Vehicle_identification_number Vehicle Identification Number (VIN)]]
 [def __AMEX__ [@http://en.wikipedia.org/wiki/American_Express American Express (AMEX)]]
 [def __RTN__ [@http://en.wikipedia.org/wiki/Routing_transit_number Routing transit number (RTN)]]
+[def __VERHOEFF__ [@http://en.wikipedia.org/wiki/Verhoeff_algorithm Verhoeff algorithm]]
 
 [/ Links to different sections]
-[def __DESCRIPTION__ [link checks.checks.description Description]]
-[def __QUICKSTART__ [link checks.checks.quick_start Quick start]]
+[def __OVERVIEW__ [link checks.checks.overview Overview]]
+[def __QUICKSTART__ [link checks.checks.quickstart Quick start]]
 [def __MODIFYING_COMPONENTS__ [link checks.checks.modifying_components Modifying components]]
 [def __EXTENDING_LIBRARY__ [link checks.checks.extending_the_library Extending the library]]
 [def __INTERNATIONALIZATION__ [link checks.checks.internationalization Internationalization]]
 [def __REFERENCE__ [link checks.checks.reference Reference]]
 [def __TYPE_ADAPTOR__ [link checks.checks.reference.type_adaptor Type adaptor]]
 
-[def __types_of_errors [link checks.checks.errors types of error]]
-[def __overview [link checks.checks.overview Overview]]
 [def __overview [link checks.checks.preface Preface]]
 
 [def __spaces '''  '''] [/ two spaces - useful for an indent.]
@@ -83,33 +70,27 @@
 
 A check digit aims to control the validity of a alphanumeric string
 and catch the as many changes as possible.
-(__types_of_errors discuss possible alterations and the efficiency of their detection).
 
 This library provides a collection of functions for validating and creating check digits.
 
-Scott McMurray has identifed four fairly distinct types of check:
+Scott McMurray has identified four fairly distinct types of check:
 
 # ISBN/ISSN/UPC/EAN/VISA/etc, for catching human-entry errors.
 # hash functions as in hash tables, which only care about distribution.
 # checksums like CRC32, for catching data transmission errors.
 # and cryptographic hash functions, the only ones useful against malicious adversaries.
 
-The functions in this Boost.Checks library are primarily for the first category :
+The functions in Boost.Checks library 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.)
 
-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.
-
-The following diagram shows the hierarchy used in Boost.Checks:
-
-__CHECKS__HIERARCHY__
+This library supports three main algorithms : weigthed sum, Luhn and Verhoeff.
+A lot of other check systems use these algorithms.
 
 Numerous check algorithms are in use worldwide,
 and this is why this library is designed to help you to cater
 for less common checks, and even to create your own check systems.
-If you are interested, see __EXTENDS__LIBRARY__.
 
 [endsect] [/section:preface Preface]
 
@@ -118,7 +99,7 @@
 [important This is not (yet) an official Boost library. It was a __GSOC
 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
+may still be changed without notice. The current version is available at
 
 [*__CHECKS_DOC_PDF]
 
@@ -132,10 +113,14 @@
 
 [endsect] [/section:status Status]
 
+[include import.qbk]
 [include conventions.qbk]
+[include overview.qbk]
 [include quickstart.qbk]
-[include algorithm.qbk]
-[include errors.qbk]
+[include modifying_components.qbk]
+[include internationalization.qbk]
+[include extending_library.qbk]
+[include reference.qbk]
 
 [section:acks Acknowledgements]
 
@@ -149,12 +134,11 @@
 
 [section:refs References]
 
-# __RTN
-# __VIN
-# __CODE39
+# __RTN__
+# __VIN__
 
 # Verhoeff, J, Error Detecting Codes, Mathmatical Centre Tract 29, The Mathematical Centre, Amsterdam 1969.
-# [@http://en.wikipedia.org/wiki/Verhoeff_algorithm Verhoeff_algorithm]
+# __VERHOEFF__
 # H. Peter Gumm, New class of check-digit methods for arbitrary number systems,
 IEEE Trans. on Information Theory, 31(1985) 102-105.
 # Paul Putter, & Neal R Wagner, Communication of ther ACM, Jan 1989, Vol 32, pages 106 - 110.
@@ -181,7 +165,7 @@
   # checksums like CRC32, for catching data transmission errors.
   # and cryptographic hash functions, the only ones useful against malicious adversaries.
 
-This project is directed first at the first class.
+This project is directed at the first class.
 Others might be the subject of future additions or other libraries.
 
 [h4 Function parameter]
@@ -214,7 +198,7 @@
 
 [endsect] [/section:checks Boost.Checks]
 
-[xinclude autodoc.xml] [/ Using Doxygen reference documentation.]
+[/xinclude autodoc.xml] [/ Using Doxygen reference documentation.]
 
 [/This (if enabled) creates an Index section that include the class, function ... indexes, and also a full index with <index/>]
 [? enable_index

Deleted: sandbox/SOC/2011/checks/libs/checks/doc/description.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/description.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
+++ (empty file)
@@ -1,38 +0,0 @@
-[/
-Copyright Pierre Talbot 2013.
-
-Use, modification and distribution are subject to 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)
-]
-
-[section:description Description]
-
-This chapter will give you a basic approach to understand this library.
-
-For the re-usability and genericity sake, all algorithms are split in several pieces of code:
-
-* Filtering undesirable characters. [*Default:] Everything that is not expected is skipped.
-* Transliterate characters to digits, possibly with the help of a table. [*Default:] The characters are transliterated into unsigned digits, an exception can be raised if the transliteration is impossible.
-* Processing the checksum.
-* An optional size checking.
-* Producing the check digit with the checksum.
-
-There is also other modifiable pieces of code:
-
-* The position and length of the check digit. [*Default: ] Last digit in the sequence.
-* The traversal type, forward or backward. [*Default: ] Backward traversal.
-
-These steps are done in a single iteration.
-
-You might want to read the section that fit your use:
-
-* If you want to use functions provided by the library, see __QUICKSTART__ ;
-* If you want to modify existing algorithm, see __MODIFYING_COMPONENTS__ ;
-* If you want to check international string, see __INTERNATIONALIZATION__ ;
-* Finally, if you want a guideline to write your own check function, see __EXTENDING_LIBRARY__.
-
-A __REFERENCE__ section is available and you can find further documentation on specific algorithm or component.
-
-[endsect][/section:description Description]
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/doc/extending_library.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/extending_library.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/extending_library.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -7,9 +7,6 @@
 or copy at http://www.boost.org/LICENSE_1_0.txt)
 ]
 
-[import ../example/vin.hpp]
-[import ../example/rtn.hpp]
-
 [section:extending_the_library Extending the library]
 
 You may use the facilities of this library to implement functions not provided yet by this library.
@@ -22,19 +19,19 @@
 
 [section:implement_rtn Implement the RTN algorithm]
 
-We begin with the implementation of the __RTN__ algorithm. We follow the __DESCRIPTION__ given earlier to find similitude with it and our algorithm.
+We begin with the implementation of the __RTN__ algorithm. We follow the __OVERVIEW__ given earlier to find similitude with it and our algorithm.
 
-[h4]Filter[/h4]
+[h4 Filter]
 
 We don't need any specific filter, the default "filter everything" is enough here.
 
-[h4]Check digit[/h4]
+[h4 Check digit]
 
 The check digit is very basic because it's the checksum modulus 10.
 
 [rtn_checkdigit]
 
-[h4]Checksum[/h4]
+[h4 Checksum]
 
 The transliteration convert character into digit which is the default behavior.
 The size of the RTN is 9 and the traversal is from right to left which is also the default.
@@ -43,21 +40,23 @@
 
 [rtn_checksum]
 
-[h4]RTN algorithm[/h4]
+[h4 RTN algorithm]
 
-The last step is to put all type definition together to form a algorithm type.
+The last step is to put all type definition together to form an algorithm type.
 
 [rtn_algorithm]
 
-[h4]Example[/h4]
+[h4 Example]
 
-We can now use the RTN algorithm with `compute_checkdigit` and `validate`.
+We can now use the RTN algorithm with the `compute_checkdigit` and `validate` generic function.
 
 [rtn_example]
 
 and the output is
 
-[rtn_example_res]
+[rtn_example_output]
+
+[endsect][/section:implement_rtn Implement the RTN algorithm]
 
 [section:implement_vin Implement the VIN algorithm]
 
@@ -66,21 +65,21 @@
 due to its numerous corner cases. Because of it, the design of Boost.Check has been changed few times,
 and hopefully improved to handle a larger set of check functions, including this one.
 
-The first step is to match the __DESCRIPTION__ we give earlier.
+The first step is to match the __OVERVIEW__ we give earlier.
 
-[h4]Filter[/h4]
+[h4 Filter]
 
 We don't need any specific filter. So the default filter will fit our use.
 
-[h4]Check digit[/h4]
+[h4 Check digit]
 
 The check digit is quite special in this algorithm because it isn't in the end, but in the middle.
 More precisely, it is at the eighth position starting from end and it's a single digit.
 
 Furthermore, the function that compute the check digit is a classic mod11 calculation. The VIN use a simple `checksum % 11`.
 
-The library already have a basic mod11 checkdigit structure, the only things which change is the position of the checkdigit.
-We can use a type adaptor which permit to change a single template parameter without taking care of the other defaults.
+The library already have a basic mod11 check digit structure, the only things that change is the position of the check digit.
+We can use a type adapter which permit to change a single template parameter without taking care of the other defaults.
 Here the sample of code doing this task.
 
 [vin_checkdigit]
@@ -88,11 +87,11 @@
 We use the default values for the size of the check digit (which is 1).
 For description purpose, we use a `#define` for the check digit size.
 
-[h4]Checksum[/h4]
+[h4 Checksum]
 
 Now we must code the core of the algorithm.
 
-[h5]Transliteration[/h5]
+[h5 Transliteration]
 First, the VIN checksum algorithm work with transliterated value, corresponding to the following table:
 
 [table:id Letter to digit VIN conversion table
@@ -114,7 +113,7 @@
 
 [vin_transliteration]
 
-[h5]Processor[/h5]
+[h5 Processor]
 
 The processor is the function that compute the checksum. VIN is a weighted sum algorithm, it's nice
 because a re-usable piece of code doing this job already exist. Because we go though the sequence from
@@ -123,7 +122,7 @@
 
 [vin_processor]
 
-[h5]Sequence size[/h5]
+[h5 Sequence size]
 
 The sequence size is important here. The VIN must exactly be composed of 17 digits.
 But what are we doing if the sequence is not of exactly 17 digits ? You can return an
@@ -132,18 +131,18 @@
 
 [vin_size]
 
-[h5]Traversal[/h5]
+[h5 Traversal]
 
 The traversal is very important, the position of the check digit and the weight sequence depend on it.
 Most of the check algorithm will use a right to left traversal, so it's the default value. The VIN algorithm is quite basic here and use this default value.
 
-[h5]Checksum[/h5]
+[h5 Checksum]
 
 Finally, we can create the checksum type of this algorithm.
 
 [vin_checksum]
 
-[h4]VIN algorithm[/h4]
+[h4 VIN algorithm]
 
 Finally we have all the pieces and we need to put these together. A last type definition is
 used to describe our VIN algorithm.
@@ -156,7 +155,7 @@
 We defined several function and few typedef, but the VIN is very specific, and you shouldn't have
 so many works on other check algorithms.
 
-[h4]Tests[/h4]
+[h4 Tests]
 
 The tests are very important but also quite difficult to find. The easiest solution is to get
 some existing and trusted generators and to compare your algorithm with it. If you can't find some,
@@ -165,7 +164,7 @@
 In some cases, other solutions exists. For the VIN, a test is to check the result of the sequence
 of seventies 1 digit. The check digit should be 1.
 
-[h4]Example[/h4]
+[h4 Example]
 
 You can use it in the same way you use all the other.
 
@@ -173,7 +172,7 @@
 
 and the output is
 
-[vin_example_res]
+[vin_example_output]
 
 [endsect][/section:implement_vin Implement the VIN algorithm]
 

Added: sandbox/SOC/2011/checks/libs/checks/doc/import.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2011/checks/libs/checks/doc/import.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -0,0 +1,6 @@
+[import ../example/checks_examples.cpp]
+[import ../example/checks_tutorial.cpp]
+[import ../example/rtn.hpp]
+[import ../example/vin.hpp]
+[import ../example/filter_example.cpp]
+[import ../example/amex_example.cpp]
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/doc/internationalization.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/internationalization.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/internationalization.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -17,6 +17,6 @@
 
 There is no decoding/encoding in Boost.Check as we assume we manipulate a sequence of the type required by the algorithm.
 
-The transformation of your specific encoding into ASCII-char is not handle by the core functionnalities.
+The transformation of your specific encoding into ASCII-char is not handle by the core functionalities.
 
-[endsect][/section:description Description]
\ No newline at end of file
+[endsect][/section:internationalization Internationalization]
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/doc/modifying_components.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/modifying_components.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/modifying_components.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -15,7 +15,7 @@
 
 [strict_filter]
 
-You can now use the type adaptor to change this component in VISA.
+You can now use the type adapter to change this component in VISA.
 
 [type_adaptor]
 
@@ -23,6 +23,10 @@
 
 [visa_example]
 
-You can find all the modifying tag in the __TYPE_ADAPTOR__ reference section.
+which output:
+
+[visa_output]
+
+You can find all the modifying tags and further information in the __TYPE_ADAPTOR__ reference section.
 
 [endsect][/section:modifying_components Modifying Components]
\ No newline at end of file

Copied: sandbox/SOC/2011/checks/libs/checks/doc/overview.qbk (from r82653, /sandbox/SOC/2011/checks/libs/checks/doc/description.qbk)
==============================================================================
--- /sandbox/SOC/2011/checks/libs/checks/doc/description.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/overview.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -7,7 +7,7 @@
 or copy at http://www.boost.org/LICENSE_1_0.txt)
 ]
 
-[section:description Description]
+[section:overview Overview]
 
 This chapter will give you a basic approach to understand this library.
 
@@ -28,11 +28,11 @@
 
 You might want to read the section that fit your use:
 
-* If you want to use functions provided by the library, see __QUICKSTART__ ;
+* If you want to use functions provided by the library, see the __QUICKSTART__ ;
 * If you want to modify existing algorithm, see __MODIFYING_COMPONENTS__ ;
 * If you want to check international string, see __INTERNATIONALIZATION__ ;
 * Finally, if you want a guideline to write your own check function, see __EXTENDING_LIBRARY__.
 
 A __REFERENCE__ section is available and you can find further documentation on specific algorithm or component.
 
-[endsect][/section:description Description]
\ No newline at end of file
+[endsect][/section:overview Overview]
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/doc/quickstart.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/quickstart.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/quickstart.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -7,11 +7,6 @@
 or copy at http://www.boost.org/LICENSE_1_0.txt)
 ]
 
-[import ../example/checks_examples.cpp]
-[import ../example/checks_tutorial.cpp]
-[import ../example/rtn.hpp]
-[import ../example/vin.hpp]
-
 [section:quickstart Quick Start]
 There are two main functionalities provided by this library. The first is used to
 [*validate] a sequence of character :
@@ -41,7 +36,14 @@
 
 [note You noticed the template parameter `check_algo` is exactly the same for validation or computation.]
 
-[warning Boost.Check [*does not provide] support for string pattern matching such as a require starting number (example: "978" or "979" in an ISBN number). Refer to __BOOST_REGEX__ or __STD_REGEX__ or a homecraft pre-checking.]
+You may ask why the return type is not a simple char. By default, we want an exception free code as much as possible.
+But error can appear when computing the check digit. So this return type is very adapted for a simple computation and is
+very easy to use.
+
+In fact, the character type could be something else than a char, if a check require non-ASCII characters to be computed. By the way,
+for all the current algorithm, a char is sufficient.
+
+[warning Boost.Check [*does not provide] support for string pattern matching such as a require starting number (example: "978" or "979" in an ISBN number). Refer to __BOOST_REGEX__ or __STD_REGEX__ or a home-craft pre-checking.]
 
 Basically, the `check_algo` is the acronym of the algorithm you want to use.
 

Modified: sandbox/SOC/2011/checks/libs/checks/doc/reference.qbk
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/doc/reference.qbk (original)
+++ sandbox/SOC/2011/checks/libs/checks/doc/reference.qbk 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -14,5 +14,10 @@
 
 
 [endsect][/section:checkdigit Checkdigit]
+[section:type_adaptor Type adaptor]
+
+
+
+[endsect][/section:type_adaptor Type adaptor]
 
 [endsect][/section:reference Reference]
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/example/amex_example.cpp
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/example/amex_example.cpp (original)
+++ sandbox/SOC/2011/checks/libs/checks/example/amex_example.cpp 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -1,6 +1,5 @@
 //[amex_example
 #include <string>
-#include <boost/optional.hpp>
 #include <boost/checks/amex.hpp>
 
 using namespace boost::checks;

Modified: sandbox/SOC/2011/checks/libs/checks/example/checks_tutorial.cpp
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/example/checks_tutorial.cpp (original)
+++ sandbox/SOC/2011/checks/libs/checks/example/checks_tutorial.cpp 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -35,37 +35,44 @@
 {
   using namespace boost::checks;
   //[rtn_example
- std::string rtn = "111000025";
- if(check_rtn(rtn))
- std::cout << "The Routing Transit Number (RTN) \"" << rtn << "\" is valid." << std::endl;
- rtn = "11100002";
- std::cout << "The check digit of \"" << rtn << "\" is " << compute_rtn(rtn) << "." << std::endl;
+ std::string rtn_number("111000025");
+ std::string rtn_number_without_checkdigit("11100002");
+
+ if(validate<rtn>(rtn_number))
+ std::cout << rtn_number << " is a valid RTN." << std::endl;
+
+ boost::optional<rtn::checkdigit_type> checkdigit =
+ compute_checkdigit<rtn>(rtn_number_without_checkdigit);
+ if(checkdigit)
+ std::cout << "The check digit of the RTN \'" << rtn_number_without_checkdigit
+ << "\' is \'" << *checkdigit << "\'.\n";
   //]
 
   //[vin_example
- std::string vin = "1M8GDM9A6KP042788";
- vin = "11111111111111111";
- if(check_vin(vin))
- std::cout << "The Vehicle Identification Number (VIN) \"" << vin << "\" is valid." << std::endl;
-
- vin = "1M8GDM9AKP042788";
- vin = "1111111111111111";
- std::cout << "The check digit of \"" << vin << "\" is " << compute_vin(vin) << std::endl;
+ std::string vin_number("11111111 1 11111111");
+ std::string vin_number_without_checkdigit("11111111 11111111");
+
+ if(validate<vin>(vin_number))
+ std::cout << vin_number << " is a valid VIN." << std::endl;
+
+ boost::optional<vin::checkdigit_type> checkdigit =
+ compute_checkdigit<vin>(vin_number_without_checkdigit);
+ if(checkdigit)
+ std::cout << "The check digit of the VIN \'" << vin_number_without_checkdigit
+ << "\' is \'" << *checkdigit << "\'.\n";
   //]
   return 0;
 }
 /*
 
 //[rtn_example_output
-
-The Routing Transit Number: 111000025 is valid.
-The check digit of the number: 11100002 is 5.
-
+111000025 is a valid RTN.
+The check digit of the RTN '11100002' is '5'.
 //]
 
 //[vin_example_output
-The Vehicle Identification Number: 1M8GDM9AXKP042788 is correct.
-The check digit of 1M8GDM9AKP042788 is X
+11111111 1 11111111 is a valid VIN.
+The check digit of the VIN '11111111 11111111' is '1'.
 //]
 
 */

Modified: sandbox/SOC/2011/checks/libs/checks/example/filter_example.cpp
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/example/filter_example.cpp (original)
+++ sandbox/SOC/2011/checks/libs/checks/example/filter_example.cpp 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -52,4 +52,11 @@
     std::cout << e.what() << std::endl;
   }
   //]
-}
\ No newline at end of file
+}
+
+/*
+//[visa_output
+4111-111-11111-1111 is a valid VISA card number.
+An invalid character has been hit.
+//]
+*/
\ No newline at end of file

Modified: sandbox/SOC/2011/checks/libs/checks/example/rtn.hpp
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/example/rtn.hpp (original)
+++ sandbox/SOC/2011/checks/libs/checks/example/rtn.hpp 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -51,33 +51,5 @@
 rtn;
 //]
 
-/*
-//[rtn_example
-int main()
-{
- using namespace boost::checks;
- std::string rtn_number("111000025");
- std::string rtn_number_without_checkdigit("11100002");
-
- if(validate<rtn>(rtn_number))
- std::cout << rtn_number << " is a valid RTN." << std::endl;
-
- boost::optional<rtn::checkdigit_type> checkdigit =
- compute_checkdigit<rtn>(rtn_number_without_checkdigit);
- if(checkdigit)
- std::cout << "The check digit of the RTN \'" << rtn_number_without_checkdigit
- << "\' is \'" << *checkdigit << "\'.\n";
-
-
- return 0;
-}
-//]
-
-//[rtn_example_res
-111000025 is a valid RTN.
-The check digit of the RTN '11100002' is '5'.
-//]
-*/
-
 }}
 #endif

Modified: sandbox/SOC/2011/checks/libs/checks/example/vin.hpp
==============================================================================
--- sandbox/SOC/2011/checks/libs/checks/example/vin.hpp (original)
+++ sandbox/SOC/2011/checks/libs/checks/example/vin.hpp 2013-02-04 02:42:42 EST (Mon, 04 Feb 2013)
@@ -35,7 +35,7 @@
 typedef type_adaptor
 <
   mod11_basic_checkdigit,
- checkdigit_pos,
+ checkdigit_pos_tag,
   VIN_CHECKDIGIT_POS
>::type
 vin_checkdigit;
@@ -89,31 +89,5 @@
 vin;
 //]
 
-/*
-//[vin_example
-int main()
-{
- using namespace boost::checks;
- std::string vin_number("11111111 1 11111111");
- std::string vin_number_without_checkdigit("11111111 11111111");
-
- if(validate<vin>(vin_number))
- std::cout << vin_number << " is a valid VIN." << std::endl;
-
- boost::optional<vin::checkdigit_type> checkdigit =
- compute_checkdigit<vin>(vin_number_without_checkdigit);
- if(checkdigit)
- std::cout << "The check digit of the VIN \'" << vin_number_without_checkdigit
- << "\' is \'" << *checkdigit << "\'.\n";
-
- return 0;
-}
-//]
-
-//[vin_example_res
-11111111 1 11111111 is a valid VIN.
-The check digit of the VIN '11111111 11111111' is '1'.
-//]
-*/
 }}
 #endif


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