Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r73812 - sandbox/SOC/2011/checks/boost/checks
From: pierre.talbot.6114_at_[hidden]
Date: 2011-08-16 05:41:50


Author: trademark
Date: 2011-08-16 05:41:49 EDT (Tue, 16 Aug 2011)
New Revision: 73812
URL: http://svn.boost.org/trac/boost/changeset/73812

Log:
Modified the structure algorithm and inherited from weighted_sum_algorithm.
Text files modified:
   sandbox/SOC/2011/checks/boost/checks/modulus11.hpp | 17 ++---------------
   1 files changed, 2 insertions(+), 15 deletions(-)

Modified: sandbox/SOC/2011/checks/boost/checks/modulus11.hpp
==============================================================================
--- sandbox/SOC/2011/checks/boost/checks/modulus11.hpp (original)
+++ sandbox/SOC/2011/checks/boost/checks/modulus11.hpp 2011-08-16 05:41:49 EDT (Tue, 16 Aug 2011)
@@ -13,15 +13,14 @@
 #include <boost/checks/weight.hpp>
 #include <boost/checks/iteration_sense.hpp>
 #include <boost/checks/basic_checks.hpp>
+#include <boost/checks/weighted_sum.hpp>
 
 namespace boost{
   namespace checks{
 
 template <typename mod11_weight, typename iteration_sense, unsigned int number_of_virtual_value_skipped = 0>
-struct modulus11_algorithm
+struct modulus11_algorithm : boost::checks::weighted_sum_algorithm<mod11_weight, iteration_sense, number_of_virtual_value_skipped>
 {
- typedef iteration_sense iteration_sense ;
-
   template <typename value>
   static int traduce_to_valid_value(const value &current_value, const unsigned int valid_value_counter )
   {
@@ -40,12 +39,6 @@
     return valid_value ;
   }
 
- static void operate_on_valid_value( const int current_valid_value, const unsigned int valid_value_counter, int &checksum )
- {
- int current_weight = mod11_weight::weight_associated_with_pos( valid_value_counter + number_of_virtual_value_skipped ) ;
- checksum += current_valid_value * current_weight ;
- }
-
   static bool validate_checksum(int checksum)
   {
     return !(checksum % 11) ;
@@ -70,12 +63,6 @@
       }
     }
   }
-
- template <typename check_range>
- struct checkdigit
- {
- typedef typename boost::range_value<check_range>::type type;
- };
 };
 
 typedef boost::checks::weight<1,2,3,4,5,6,7,8,9,10> mod11_weight ;


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