$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r60710 - in sandbox/statistics/detail/assign: boost/assign/auto_size/check boost/assign/auto_size/comparison_op libs/assign/doc libs/assign/example libs/assign/src
From: erwann.rogard_at_[hidden]
Date: 2010-03-19 13:29:52
Author: e_r
Date: 2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
New Revision: 60710
URL: http://svn.boost.org/trac/boost/changeset/60710
Log:
m
Removed:
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/max_element.hpp
Text files modified: 
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/all.hpp           |     7 +                                       
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/chain.hpp         |    38 ++++++--                                
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_array.hpp    |     2                                         
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_iterator.hpp |    32 +++---                                  
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/rebind_array.hpp  |     2                                         
   sandbox/statistics/detail/assign/boost/assign/auto_size/check/ref_csv.hpp       |   174 +++++++++------------------------------ 
   sandbox/statistics/detail/assign/boost/assign/auto_size/comparison_op/crtp.hpp  |     2                                         
   sandbox/statistics/detail/assign/libs/assign/doc/index.html                     |    30 +++---                                  
   sandbox/statistics/detail/assign/libs/assign/example/chain.cpp                  |    11 ++                                      
   sandbox/statistics/detail/assign/libs/assign/src/main.cpp                       |     6                                         
   10 files changed, 120 insertions(+), 184 deletions(-)
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/all.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/all.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/all.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -13,14 +13,13 @@
 #include <list>
 #include <stack>
 #include <queue>
-#include <boost/preprocessor/cat.hpp>
 #include <boost/array.hpp>
-#include <boost/range/algorithm/max_element.hpp>
 
 #include <boost/assign/auto_size/chain/mpl_check.hpp>
 
 #include <boost/assign/auto_size/check/array.hpp>
 #include <boost/assign/auto_size/check/chain.hpp>
+#include <boost/assign/auto_size/check/comparison_op.hpp>
 #include <boost/assign/auto_size/check/converter.hpp>
 #include <boost/assign/auto_size/check/copy_array.hpp>
 #include <boost/assign/auto_size/check/copy_iterator.hpp>
@@ -29,6 +28,7 @@
 #include <boost/assign/auto_size/check/iterator.hpp>
 #include <boost/assign/auto_size/check/lifo.hpp>
 #include <boost/assign/auto_size/check/rebind_array.hpp>
+#include <boost/assign/auto_size/check/example2.hpp>
 
 #define BOOST_ASSIGN_AS_CHECK_all(fun)                                         \
 namespace boost{                                                               \
@@ -51,7 +51,9 @@
     BOOST_ASSIGN_AS_CHECK_converter_sorted(std::set<T>)                        \
     BOOST_ASSIGN_AS_CHECK_adapter_lifo(std::stack<T>)                          \
     BOOST_ASSIGN_AS_CHECK_adapter_fifo(std::queue<T>)                          \
+    BOOST_ASSIGN_AS_CHECK_comparison_op                                        \
     chain_mpl_check::compound();                                               \
+    BOOST_ASSIGN_AS_CHECK_example2                                             \
     BOOST_ASSIGN_AS_CHECK_chain                                                \
 }                                                                              \
 void fun(){ fun<int>(); }                                                      \
@@ -62,6 +64,7 @@
 /**/
 
 
+
 #endif
 
 
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/chain.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/chain.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/chain.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -1,5 +1,5 @@
 //////////////////////////////////////////////////////////////////////////////
-// assign::detail::auto_size::check_adapter.hpp                             //
+// assign::detail::auto_size::check_chain.hpp                               //
 //                                                                          //
 //  (C) Copyright 2010 Erwann Rogard                                        //
 //  Use, modification and distribution are subject to the                   //
@@ -24,16 +24,28 @@
 {                                                                              \
     typedef T val_;                                                            \
     using namespace check_constants;                                           \
-    BOOST_AUTO(tmp1,BOOST_ASSIGN_AS_CHECK_ref3(a,b,c));                        \
-    BOOST_AUTO(tmp2,BOOST_ASSIGN_AS_CHECK_ref3(d,e,f));                        \
-    BOOST_AUTO(tmp3,BOOST_ASSIGN_AS_CHECK_ref2(g,h));                          \
+    val_ a1 = a, b1 = b, c1 = c,                                               \
+         d1 = d, e1 = e, f1 = f,                                               \
+         g1 = g, h1 = h;                                                       \
     typedef boost::array<T,2> ar2_;                                            \
     typedef boost::array<T,3> ar3_;                                            \
     ar3_ ar1, ar2;                                                             \
     ar2_ ar3;                                                                  \
-    ar1[0] = a; ar1[1] = b; ar1[2] = c;                                        \
-    ar2[0] = d; ar2[1] = e; ar2[2] = f;                                        \
-    ar3[0] = g; ar3[1] = h;                                                    \
+    ar1[0] = a1; ar1[1] = b1; ar1[2] = c1;                                     \
+    ar2[0] = d1; ar2[1] = e1; ar2[2] = f1;                                     \
+    ar3[0] = g1; ar3[1] = h1;                                                  \
+    boost::array<val_,8> ar;                                                   \
+    ar[0] = a;                                                                 \
+    ar[1] = b;                                                                 \
+    ar[2] = c;                                                                 \
+    ar[3] = d;                                                                 \
+    ar[4] = e;                                                                 \
+    ar[5] = f;                                                                 \
+    ar[6] = g;                                                                 \
+    ar[7] = h;                                                                 \
+    BOOST_AUTO(tmp1,BOOST_ASSIGN_AS_CHECK_ref3(a1,b1,c1));                     \
+    BOOST_AUTO(tmp2,BOOST_ASSIGN_AS_CHECK_ref3(d1,e1,f1));                     \
+    BOOST_AUTO(tmp3,BOOST_ASSIGN_AS_CHECK_ref2(g1,h1));                        \
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(ar1)(ar2)(ar3))           \
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(ar1)(ar2)(tmp3))          \
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(ar1)(tmp2)(ar3))          \
@@ -42,11 +54,15 @@
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(tmp1)(ar2)(tmp3))         \
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(tmp1)(tmp2)(ar3))         \
     BOOST_ASSIGN_AS_CHECK_iterator_f(chain_convert_r(tmp1)(tmp2)(tmp3))        \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(ar1)(ar2)(ar3))   \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(ar1)(ar2)(tmp3))  \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(ar1)(tmp2)(ar3))  \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(ar1)(tmp2)(tmp3)) \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(tmp1)(ar2)(ar3))  \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(tmp1)(ar2)(tmp3)) \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(tmp1)(tmp2)(ar3)) \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,chain_convert_l(tmp1)(tmp2)(tmp3))\
 }                                                                              \
 /**/
 
-//    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(chain_convert_l(ar1)(ar2)(ar3))      \
-//    check_copy_iterator(tmp1,a,b,c,d,e,f,g,h);                                 \
-
-
 #endif
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_array.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_array.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_array.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -1,5 +1,5 @@
 //////////////////////////////////////////////////////////////////////////////
-// assign::detail::auto_size::copy_array.hpp                                //
+// assign::detail::auto_size::check_copy_array.hpp                          //
 //                                                                          //
 //  (C) Copyright 2010 Erwann Rogard                                        //
 //  Use, modification and distribution are subject to the                   //
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_iterator.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_iterator.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/copy_iterator.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -1,5 +1,5 @@
 //////////////////////////////////////////////////////////////////////////////
-// assign::detail::auto_size::copy_iterator.hpp                             //
+// assign::detail::auto_size::check_copy_iterator.hpp                       //
 //                                                                          //
 //  (C) Copyright 2010 Erwann Rogard                                        //
 //  Use, modification and distribution are subject to the                   //
@@ -10,6 +10,7 @@
 #define BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_COPY_ITERATOR_ER_2010_HPP
 #include <algorithm>
 #include <boost/range.hpp>
+#include <boost/range/algorithm/copy.hpp>
 #include <boost/array.hpp>
 #include <boost/assign/auto_size/check/constants.hpp>
 
@@ -17,22 +18,9 @@
 #error
 #endif
 
-#define BOOST_ASSIGN_AS_CHECK_copy_iterator_f(arg)                             \
+#define BOOST_ASSIGN_AS_CHECK_copy_iterator_f(arg1,arg2)                       \
 {                                                                              \
-    typedef T val_;                                                            \
-    using namespace check_constants;                                           \
-    boost::array<val_,8> ar;                                                   \
-    ar[0] = a;                                                                 \
-    ar[1] = b;                                                                 \
-    ar[2] = c;                                                                 \
-    ar[3] = d;                                                                 \
-    ar[4] = e;                                                                 \
-    ar[5] = f;                                                                 \
-    ar[6] = g;                                                                 \
-    ar[7] = h;                                                                 \
-    val_ a1, b1, c1, d1, e1, f1, g1, h1;                                       \
-    BOOST_AUTO(tmp,arg);                                                       \
-    std::copy(boost::begin(ar),boost::end(ar),boost::begin(tmp));              \
+    boost::copy(arg1,boost::begin(arg2));                                      \
     BOOST_ASSIGN_CHECK_EQUAL(a , a1);                                          \
     BOOST_ASSIGN_CHECK_EQUAL(b , b1);                                          \
     BOOST_ASSIGN_CHECK_EQUAL(c , c1);                                          \
@@ -45,7 +33,17 @@
 /**/
 
 #define BOOST_ASSIGN_AS_CHECK_copy_iterator                                    \
-BOOST_ASSIGN_AS_CHECK_copy_iterator_f(BOOST_ASSIGN_AS_CHECK_ref8(a1,b1,c1,d1,e1,f1,g1,h1))\
+{                                                                              \
+    typedef T val_;                                                            \
+    using namespace check_constants;                                           \
+    boost::array<val_,8> ar;                                                   \
+    ar[0] = a; ar[1] = b; ar[2] = c;                                           \
+    ar[3] = d; ar[4] = e; ar[5] = f;                                           \
+    ar[6] = g; ar[7] = h;                                                      \
+    val_ a1, b1, c1, d1, e1, f1, g1, h1;                                       \
+    BOOST_AUTO(tmp,BOOST_ASSIGN_AS_CHECK_ref8(a1,b1,c1,d1,e1,f1,g1,h1));       \
+    BOOST_ASSIGN_AS_CHECK_copy_iterator_f(ar,tmp)                              \
+}                                                                              \
 /**/
 
 #endif
Deleted: sandbox/statistics/detail/assign/boost/assign/auto_size/check/max_element.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/max_element.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
+++ (empty file)
@@ -1,35 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// assign::detail::auto_size::max_element.hpp                               //
-//                                                                          //
-//  (C) Copyright 2010 Erwann Rogard                                        //
-//  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)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_MAX_ELEMENT_ER_2010_HPP
-#define BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_MAX_ELEMENT_ER_2010_HPP
-#include <algorithm>
-#include <boost/range.hpp>
-
-namespace boost{
-namespace assign{
-namespace detail{
-namespace auto_size{
-
-
-// This function will be superseded by boost::max_element from range_ex
-
-template< class Range >
-typename boost::range_iterator<const Range>::type 
-max_element( const Range& r )
-{
-    return std::max_element( r.begin(), r.end() );
-}
-
-
-}// auto_size
-}// detail
-}// assign
-}// boost
-
-#endif
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/rebind_array.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/rebind_array.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/rebind_array.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -1,5 +1,5 @@
 //////////////////////////////////////////////////////////////////////////////
-// assign::detail::auto_size::rebind_array.hpp                              //
+// assign::detail::auto_size::check_rebind_array.hpp                        //
 //                                                                          //
 //  (C) Copyright 2010 Erwann Rogard                                        //
 //  Use, modification and distribution are subject to the                   //
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/check/ref_csv.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/check/ref_csv.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/check/ref_csv.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -6,141 +6,51 @@
 //  Boost Software License, Version 1.0. (See accompanying file             //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
 //////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_REF_CSV_OF_ER_2010_HPP
-#define BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_REF_CSV_OF_ER_2010_HPP
-#include <vector>
-#include <set>
-#include <list>
-#include <stack>
-#include <queue>
-#include <boost/array.hpp>
+#ifndef BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_REF_CSV_ER_2010_HPP
+#define BOOST_ASSIGN_DETAIL_AUTO_SIZE_CHECK_REF_CSV_ER_2010_HPP
 #include <boost/assign/auto_size/ref_csv.hpp>
 #include <boost/assign/auto_size/ref_rebind_csv.hpp>
+#include <boost/assign/auto_size/check/all.hpp>
 
-#include <boost/assign/auto_size/check/array.hpp>
-#include <boost/assign/auto_size/check/adapter.hpp>
-#include <boost/assign/auto_size/check/converter.hpp>
-#include <boost/assign/auto_size/check/copy_array.hpp>
-#include <boost/assign/auto_size/check/copy_iterator.hpp>
-#include <boost/assign/auto_size/check/fifo.hpp>
-#include <boost/assign/auto_size/check/iterator.hpp>
-#include <boost/assign/auto_size/check/lifo.hpp>
-#include <boost/assign/auto_size/check/rebind_array.hpp>
-
-// Until range_ex avail.
-#include <boost/assign/auto_size/check/max_element.hpp>
-
-namespace boost{
-namespace assign{
-namespace detail{
-namespace auto_size{
-
-template<typename T>
-void check_ref_csv()
-{
-	typedef T val_;
-    using namespace boost::assign;
-    const val_ 
-            a1 = 1, b1 = 5, c1 = 3, 
-            d1 = 4, e1 = 2, f1 = 9, 
-            g1 = 0, h1 = 7;
-
-    {
-        // ---- Examples in the documentation
-        val_ a=a1, b=b1, c=c1, d=d1, e=e1, f=f1, g=g1, h=h1;
-            val_& max = *max_element( ref_csv(a,b,c,d,e,f,g,h) );
-            BOOST_ASSERT( max == f );
-            max = 8;
-            BOOST_ASSERT( f == 8 );
-            const val_& const_max = *max_element( 
-                cref_csv(1,5,3,d,e,f,g,h) );
-            BOOST_ASSERT( max == const_max );
-    }
-	{   
-        check_iterator(
-        	cref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-            a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-	{   
-        check_array(
-            cref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-            a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {    
-        val_ a, b, c, d, e, f, g, h;
-        BOOST_AUTO(tmp,ref_csv(a,b,c,d,e,f,g,h));
-        check_copy_iterator(
-            tmp,
-            a,b,c,d,e,f,g,h);
-    }
-    {
-        val_ a, b, c, d, e, f;
-        BOOST_AUTO(tmp1,ref_csv(a,b,c));
-        BOOST_AUTO(tmp2,ref_csv(d,e,f));
-        check_copy_array(
-            tmp1,tmp2,
-            a,b,c,d,e,f);
-    }
-    {
-         val_ a, b, c, d, e, f;
-        BOOST_AUTO(tmp1,ref_rebind_csv(a,b,c));
-        BOOST_AUTO(tmp2,ref_rebind_csv(d,e,f));
-        check_rebind_array(
-             tmp1,
-             tmp2,
-             a,b,c,d,e,f);
-    }
-    {
-        std::list<val_> elems;
-        check_converter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {
-        std::vector<val_> elems;
-        check_converter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {
-        boost::array<val_,8> elems;
-        check_converter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {
-        std::set<val_> elems;
-        check_converter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {
-        std::stack<val_> elems;
-        check_adapter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-    {	
-        std::queue<val_> elems;
-        check_adapter(
-           elems,
-           ref_csv(a1,b1,c1,d1,e1,f1,g1,h1),
-           a1,b1,c1,d1,e1,f1,g1,h1);
-    }
-
-    // TODO add check_chain
-}
-
-
-}// auto_size
-}// detail
-}// assign
-}// boost
+#define BOOST_ASSIGN_AS_CHECK_ref1(a)  ref_csv(a)
+#define BOOST_ASSIGN_AS_CHECK_ref2(a,b)  ref_csv(a,b)
+#define BOOST_ASSIGN_AS_CHECK_ref3(a,b,c)  ref_csv(a,b,c)
+#define BOOST_ASSIGN_AS_CHECK_ref4(a,b,c,d)  ref_csv(a,b,c,d)
+#define BOOST_ASSIGN_AS_CHECK_ref5(a,b,c,d,e)  ref_csv(a,b,c,d,e)
+#define BOOST_ASSIGN_AS_CHECK_ref6(a,b,c,d,e,f)  ref_csv(a,b,c,d,e,f)
+#define BOOST_ASSIGN_AS_CHECK_ref7(a,b,c,d,e,f,g)  ref_csv(a,b,c,d,e,f,g)
+#define BOOST_ASSIGN_AS_CHECK_ref8(a,b,c,d,e,f,g,h)  ref_csv(a,b,c,d,e,f,g,h)
+
+#define BOOST_ASSIGN_AS_CHECK_cref1(a)  cref_csv(a)
+#define BOOST_ASSIGN_AS_CHECK_cref2(a,b)  cref_csv(a,b)
+#define BOOST_ASSIGN_AS_CHECK_cref3(a,b,c)  cref_csv(a,b,c)
+#define BOOST_ASSIGN_AS_CHECK_cref4(a,b,c,d)  cref_csv(a,b,c,d)
+#define BOOST_ASSIGN_AS_CHECK_cref5(a,b,c,d,e)  cref_csv(a,b,c,d,e)
+#define BOOST_ASSIGN_AS_CHECK_cref6(a,b,c,d,e,f)  cref_csv(a,b,c,d,e,f)
+#define BOOST_ASSIGN_AS_CHECK_cref7(a,b,c,d,e,f,g)  cref_csv(a,b,c,d,e,f,g)
+#define BOOST_ASSIGN_AS_CHECK_cref8(a,b,c,d,e,f,g,h)  cref_csv(a,b,c,d,e,f,g,h)
+
+#define BOOST_ASSIGN_AS_CHECK_ref_rebind3(a,b,c)  ref_rebind_csv(a,b,c)
+
+BOOST_ASSIGN_AS_CHECK_all(check_ref_csv)
+
+#undef BOOST_ASSIGN_AS_CHECK_ref1
+#undef BOOST_ASSIGN_AS_CHECK_ref2
+#undef BOOST_ASSIGN_AS_CHECK_ref3
+#undef BOOST_ASSIGN_AS_CHECK_ref4
+#undef BOOST_ASSIGN_AS_CHECK_ref5
+#undef BOOST_ASSIGN_AS_CHECK_ref6
+#undef BOOST_ASSIGN_AS_CHECK_ref7
+#undef BOOST_ASSIGN_AS_CHECK_ref8
+
+#undef BOOST_ASSIGN_AS_CHECK_cref1
+#undef BOOST_ASSIGN_AS_CHECK_cref2
+#undef BOOST_ASSIGN_AS_CHECK_cref3
+#undef BOOST_ASSIGN_AS_CHECK_cref4
+#undef BOOST_ASSIGN_AS_CHECK_cref5
+#undef BOOST_ASSIGN_AS_CHECK_cref6
+#undef BOOST_ASSIGN_AS_CHECK_cref7
+#undef BOOST_ASSIGN_AS_CHECK_cref8
 
 #endif
 
Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/comparison_op/crtp.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/comparison_op/crtp.hpp	(original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/comparison_op/crtp.hpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -162,7 +162,7 @@
     operator SYMB(const L& l,const R& r){                                     \
         typedef typename traits::policy_of<R>::type policy_;                  \
         typedef typename traits::derived_of<R>::type derived_;                \
-        return OP::call<policy_>(r,static_cast<const derived_&> (r));         \
+        return OP::call<policy_>(l,static_cast<const derived_&> (r));         \
     }                                                                         \
                                                                               \
     template<typename L,typename R>                                           \
Modified: sandbox/statistics/detail/assign/libs/assign/doc/index.html
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/doc/index.html	(original)
+++ sandbox/statistics/detail/assign/libs/assign/doc/index.html	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -137,20 +137,22 @@
    <p>
    Within two minutes you should be able to use this library. The main 
 components are explained in these sections:
-   <ul>
-        <li>Function operator+=()
-        <li>Function operator()()
-        <li>Function list_of()    
-        <li>Function map_list_of() 
-        <li>Function tuple_list_of()   
-        <li>Functions repeat(), repeat_fun() and range() 
-        <li>Functions ref_list_of(), cref_list_of()  and variants  
-        <li>Functions ref_csv(), cref_csv() and variants   
-        <li>A "complicated" example    
-        <li>Functions ptr_push_back(), ptr_push_front(), ptr_insert() and ptr_map_insert()
-        <li>Function ptr_list_of()         
-            
-   </ul>
+        Tutorial
+        <ul>
+            <li>Function operator+=()
+            <li>Function operator()()
+            <li>Function list_of()    
+            <li>Function map_list_of() 
+            <li>Function tuple_list_of()
+            <li>Functions repeat(), repeat_fun() and range() 
+            <li>Function chain_convert() 
+            <li>Functions ref_list_of(), cref_list_of() and variants   
+            <li>Functions ref_csv(), cref_csv() and variants   
+            <li>A "complicated" example    
+            <li>Functions ptr_push_back(), ptr_push_front(), 
+                                                   ptr_insert() and ptr_map_insert()
+            <li>Function ptr_list_of()         
+       </ul>           
    The two first functions are used for adding elements after a container object
    has been created whereas the next two is used when we need to initialize an 
    object. </p>
Modified: sandbox/statistics/detail/assign/libs/assign/example/chain.cpp
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/example/chain.cpp	(original)
+++ sandbox/statistics/detail/assign/libs/assign/example/chain.cpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -37,14 +37,21 @@
         BOOST_AUTO(tmp1,ref_list_of(a)(b)(c)(d)); 
         BOOST_AUTO(tmp2,ref_list_of(e)(f)(g)(h)); 
 
+    BOOST_ASSERT(tmp1 != tmp2);
+    BOOST_ASSERT(tmp1 != ar1);
+    BOOST_ASSERT(ar1  != tmp1);
+
+/*
     boost::copy(
         chain_convert_r(tmp2)(ar4)(ar5),
         std::ostream_iterator<val_>(os," ")
     ); os << " --- becomes ---> " << std::endl;
 
+    BOOST_AUTO(tmp,chain_convert_l(tmp2)(ar4)(ar5));
+
     boost::copy(
         chain_convert_r(tmp1)(ar2)(ar3),
-        boost::begin(chain_convert_l(tmp2)(ar4)(ar5))
+        boost::begin(tmp)
     ); 
 
     boost::copy(
@@ -71,7 +78,7 @@
    //         boost::chain(tmp2,ar4)
    //     )
    //);
-
+*/
         os << "<- " << std::endl;
     
 }
Modified: sandbox/statistics/detail/assign/libs/assign/src/main.cpp
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/src/main.cpp	(original)
+++ sandbox/statistics/detail/assign/libs/assign/src/main.cpp	2010-03-19 13:29:50 EDT (Fri, 19 Mar 2010)
@@ -1,7 +1,7 @@
 #include <iostream>
 #define BOOST_ASSIGN_CHECK_EQUAL(a,b) BOOST_ASSERT(a==b)
 #include <boost/assign/auto_size/check/ref_list_of.hpp>
-//#include <boost/assign/auto_size/check/ref_csv.hpp>
+#include <boost/assign/auto_size/check/ref_csv.hpp>
 #undef BOOST_ASSIGN_CHECK_EQUAL
 #include <libs/assign/example/chain.h>
 
@@ -11,8 +11,8 @@
 
      check_ref_list_of<int>();
      std::cout << "check_ref_list_of : ok" << std::endl;
-    // boost::assign::detail::auto_size::check_ref_csv<int>();
-    // std::cout << "check_ref_csv : ok" << std::endl;
+     check_ref_csv<int>();
+     std::cout << "check_csv : ok" << std::endl;
 
     example_chain(std::cout);