$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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 ¤t_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 ;