$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r66522 - in sandbox/statistics/support/libs/assign/v2/test: put/compose put/compose/common put/compose/csv put/compose/functor ref unit_testing
From: erwann.rogard_at_[hidden]
Date: 2010-11-12 09:01:15
Author: e_r
Date: 2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
New Revision: 66522
URL: http://svn.boost.org/trac/boost/changeset/66522
Log:
adding to /libs/assign/v2/test
Added:
   sandbox/statistics/support/libs/assign/v2/test/put/compose/
   sandbox/statistics/support/libs/assign/v2/test/put/compose/common/
   sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/
   sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/fusion.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.cpp   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.h   (contents, props changed)
   sandbox/statistics/support/libs/assign/v2/test/unit_testing/put_compose.cpp   (contents, props changed)
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,59 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <list>
+#include <boost/mpl/vector/vector10.hpp>
+#include <boost/assign/v2/detail/functor/identity.hpp>
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/put/modifier/push_front.hpp>
+#include <boost/assign/v2/put/generic/generic.hpp>
+#include <boost/assign/v2/put/sub/sub.hpp>
+#include <boost/assign/v2/put/generic/new_fun.hpp>
+#include <boost/assign/v2/put/generic/new_modifier.hpp>
+#include <boost/assign/v2/put/compose/functor/composer.hpp>
+#include <boost/assign/v2/put/compose/common/forward_parameter.hpp>
+
+#include <libs/assign/v2/test/put/compose/common/forward_parameter.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_common{
+namespace xxx_forward_parameter{
+
+    void test()
+    {
+        using namespace boost::assign::v2;
+        typedef std::list<int> cont_;
+        cont_ cont;
+        using namespace adaptor;
+        typedef modifier_tag::push_front modifier_tag_;
+        typedef functor_aux::identity identity_;
+        typedef put_aux::new_fun<identity_> fun_;
+        typedef put_aux::set_modifier<modifier_tag_> modifier_;
+        typedef boost::mpl::vector2<
+        	fun_,
+            modifier_
+        > pars_;
+        put_compose_aux::forward_parameter<pars_>(
+            put( cont ),
+            _put %  ( _fun = _identity ) % ( _modifier = modifier_tag_() )
+        )( 1 )( 2 )( 3 );
+        BOOST_ASSIGN_V2_CHECK_EQUAL( cont.size(), 3 );
+        BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), 3 ); cont.pop_front();
+        BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), 2 ); cont.pop_front();
+        BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), 1 ); cont.pop_front();
+    }
+    
+}// xxx_forward_parameter
+}// xxx_common
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_COMMON_FORWARD_PARAMETER_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_COMMON_FORWARD_PARAMETER_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_common{
+namespace xxx_forward_parameter{
+
+    void test();
+    
+}// xxx_forward_parameter
+}// xxx_common
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,62 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
+#include <boost/mpl/int.hpp>
+#include <boost/assign/v2/v2.hpp>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_csv{
+namespace xxx_composer{
+
+        void test()
+        {	
+        	using namespace boost::assign::v2;
+            int a1, b1, c1, d1;//, e1, f1, g1, h1;
+            using namespace checking::constants;
+            {
+                a1 = a; b1 = b; c1 = c; d1 = d;
+            }
+
+            using namespace adaptor;
+            BOOST_AUTO(
+            	tmp,
+                ( _csv_put( a1, b1, c1 ) )
+            );
+            typedef boost::mpl::int_<0> zero_;
+            typedef boost::mpl::int_<1> one_;
+            typedef boost::mpl::int_<2> two_;
+            {
+            	int& x = tmp.sequence_arg()[ zero_::value ];
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( &a1, &x );
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( a, x );
+            }
+            {
+            	int& x = tmp.sequence_arg()[ one_::value ];
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( &b1, &x );
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( b, x );
+            }
+            {
+            	int& x = tmp.sequence_arg()[ two_::value ];
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( &c1, &x );
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( c, x );
+            }
+
+        }
+ 
+}// xxx_composer
+}// xxx_csv
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_csv{
+namespace xxx_composer{
+
+    void test();
+    
+}// xxx_composer
+}// xxx_csv
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,136 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <boost/detail/workaround.hpp>
+
+#include <boost/array.hpp>
+#include <deque>
+#include <list>
+#include <map>
+#include <queue>
+#include <set>
+#include <stack>
+#include <vector>
+#include <utility>
+
+#include <boost/assign/v2/v2.hpp>
+
+#include <libs/assign/v2/test/put/compose/csv/stl.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_csv{
+namespace xxx_stl{
+
+	void test(){
+		using namespace boost::assign::v2;
+        using namespace adaptor;
+        {	// Array
+        	
+            {	
+        		typedef boost::array<int,8> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check(
+                    	cont | _csv_put( a, b, c, d, e, f, g, h )
+                    );
+                }
+			}
+        }
+        {	// Associative
+        	
+            {	
+        		typedef std::map<int,int> cont_;
+                typedef std::pair<int const, int> pair_;
+                cont_ cont;
+                {
+            		using namespace checking::container;
+                    using namespace checking::constants;
+                    do_check(
+                		cont | _csv_put( 
+                        	pair_( a, a ), pair_( b, b ), pair_( c, c ), 
+                            pair_( d, d ), pair_( e, e ), pair_( f, f ),
+                        	pair_( g, g ), pair_( h, h )
+                        )
+                    );
+                }
+            }// map
+            {	
+        		typedef std::set<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::container;
+                    using namespace checking::constants;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// map
+        }// Associative
+        {
+        	// Sequence
+            {	
+        		typedef std::deque<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// deque
+            {	
+        		typedef std::list<int> cont_;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    cont_ cont;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// list
+            {	
+        		typedef std::vector<int> cont_;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+               	 	cont_ cont;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// vector
+        } // Sequence
+
+        {
+        	// Push
+            {	
+        		typedef std::queue<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// queue
+        	// Push
+            {	
+        		typedef std::stack<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check( cont | _csv_put( a, b, c, d, e, f, g, h ) );
+                }
+            }// queue
+        }// Push
+	}// test()
+  
+}// xxx_stl
+}// xxx_csv
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_STL_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_STL_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_csv{
+namespace xxx_stl{
+
+    void test();
+    
+}// xxx_stl
+}// xxx_csv
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,91 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <iostream>
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/detail/checking/constants.hpp>
+#include <boost/assign/v2/put/modifier/repeat.hpp>
+#include <boost/assign/v2/put/compose/functor/composer.hpp>
+
+#include <libs/assign/v2/test/put/compose/functor/composer.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_composer{
+
+	void test()
+    {
+		using namespace boost::assign::v2;
+        using namespace checking::constants;
+        typedef boost::mpl::int_<0> zero_;
+        typedef boost::mpl::int_<1> one_;
+        typedef boost::mpl::int_<2> two_;
+        {
+        	using namespace adaptor;
+            int x = -1;
+
+            BOOST_AUTO(
+            	tmp,
+            	( ( put_compose_aux::composer<>() %  ( _repeat = 3 ) )( x ) )
+            );
+            int n = tmp
+                .parameters()
+                .static_lookup( zero_() ).unwrap();
+            BOOST_ASSIGN_V2_CHECK_EQUAL( n, 3 );
+        }
+        {	
+            int a1, b1, c1, d1;//, e1, f1, g1, h1;
+            using namespace checking::constants;
+            {
+                a1 = a; b1 = b; c1 = c; d1 = d;
+            }
+
+            using namespace adaptor;
+            BOOST_AUTO(
+            	tmp,
+                ( _put( a1, b1 )( c1 )() )
+            );            
+            {
+            	int & x = tmp.sequence_args()
+            		.static_row( zero_() )
+                	.static_column( zero_() );
+                BOOST_ASSIGN_V2_CHECK_EQUAL( &a1, &x );
+                BOOST_ASSIGN_V2_CHECK_EQUAL( a, x );
+            }
+            {
+            	int & x = tmp.sequence_args()
+            		.static_row( zero_() )
+                	.static_column( one_() );
+                BOOST_ASSIGN_V2_CHECK_EQUAL( &b1, &x );
+                BOOST_ASSIGN_V2_CHECK_EQUAL( b, x );
+            }
+            {
+            	int & x = tmp.sequence_args()
+            		.static_row( one_() )
+                	.static_column( zero_() );
+                BOOST_ASSIGN_V2_CHECK_EQUAL( &c1, &x );
+            	BOOST_ASSIGN_V2_CHECK_EQUAL( c, x );
+            }
+            {
+            	tmp.sequence_args()
+            		.static_row( two_() );
+            }
+        }
+
+    }
+		
+}// xxx_composer
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// test_assign_v2
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_COMPOSER_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_COMPOSER_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_composer{
+
+    void test();
+    
+}// xxx_composer
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,87 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <deque>
+#include <vector>
+
+#include <boost/mpl/int.hpp>
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/tuple/tuple.hpp>
+
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/detail/checking/constants.hpp>
+#include <boost/assign/v2/ref/fusion/assign_copy.hpp>
+#include <boost/assign/v2/ref/fusion_matrix/container.hpp>
+#include <boost/assign/v2/ref/fusion_matrix/nth_result_of.hpp>
+#include <boost/assign/v2/put/compose/functor/forward_args.hpp>
+
+#include <libs/assign/v2/test/put/compose/functor/forward_args.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_forward_args{
+
+    void test()
+    {
+
+        using namespace boost::assign::v2;
+        int a1, b1, c1, d1;//, e1, f1, g1, h1;
+        {
+            using namespace checking::constants;
+            a1 = a; b1 = b; c1 = c; d1 = d;
+        }
+        typedef boost::mpl::int_<0> zero_;
+        typedef boost::mpl::int_<1> one_;
+        typedef boost::mpl::int_<2> two_;
+        typedef boost::mpl::int_<3> three_;
+        typedef boost::mpl::int_<4> four_;
+        typedef ref::fusion_matrix_aux::empty<>::type empty_;
+        {
+        	typedef std::vector<int> cont_;
+        	cont_ cont;
+	        BOOST_AUTO( tmp, ( put( cont ) ) );
+            empty_ e;
+            BOOST_AUTO( mat, e( a1 )( b1 )( c1 )( d1 )() );
+	        forward_args(
+    	        tmp,
+    	        put_compose_aux::make_args( mat.static_row( zero_() ) )
+    	    );
+	        forward_args(
+    	        tmp,
+    	        put_compose_aux::make_args( mat.static_row( one_() ) )
+    	    );
+	        forward_args(
+    	        tmp,
+    	        put_compose_aux::make_args( mat.static_row( two_() ) )
+    	    );
+	        forward_args(
+    	        tmp,
+    	        put_compose_aux::make_args( mat.static_row( three_() ) )
+    	    );
+	        forward_args(
+    	        tmp,
+    	        put_compose_aux::make_args( mat.static_row( four_() ) )
+    	    );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( cont[0], a1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( cont[1], b1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( cont[2], c1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( cont[3], d1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( cont.size(), 5 );
+			
+		}
+    }
+    
+}// xxx_forward_args
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_args.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_FORWARD_ARGS_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_FORWARD_ARGS_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_forward_args{
+
+    void test();
+    
+}// xxx_forward_args
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,63 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <deque>
+#include <vector>
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/tuple/tuple.hpp>
+
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/detail/checking/constants.hpp>
+#include <boost/assign/v2/ref/fusion/assign_copy.hpp>
+#include <boost/assign/v2/put/compose/functor/composer.hpp>
+#include <boost/assign/v2/put/compose/functor/forward_seq_args.hpp>
+
+#include <libs/assign/v2/test/put/compose/functor/forward_seq_args.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_forward_seq_args{
+
+    void test()
+    {
+
+        using namespace boost::assign::v2;
+        int a1, b1, c1, d1;//, e1, f1, g1, h1;
+        using namespace checking::constants;
+        {
+            a1 = a; b1 = b; c1 = c; d1 = d;
+        }
+        using namespace adaptor;
+        {
+        	typedef boost::tuple<int&, int&> tuple_;
+            typedef std::deque<tuple_> cont_;
+        	cont_ cont;
+	        forward_seq_args(
+    	        put( cont ),
+                _put( a1, b1 )( c1, d1 )
+    	    );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &boost::get<0>( cont[0] ), &a1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL(  boost::get<0>( cont[0] ), a 	);
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &boost::get<1>( cont[0] ), &b1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL(  boost::get<1>( cont[0] ), b 	);
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &boost::get<0>( cont[1] ), &c1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL(  boost::get<0>( cont[1] ), c 	);
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &boost::get<1>( cont[1] ), &d1 );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL(  boost::get<1>( cont[1] ), d 	);
+        }
+    }
+    
+}// xxx_forward_seq_args
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_FORWARD_SEQ_ARGS_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_FUNCTOR_FORWARD_SEQ_ARGS_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_forward_seq_args{
+
+    void test();
+    
+}// xxx_forward_seq_args
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,151 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <boost/detail/workaround.hpp>
+
+#include <boost/array.hpp>
+#include <deque>
+#include <list>
+#include <map>
+#include <queue>
+#include <set>
+#include <stack>
+#include <vector>
+
+#include <boost/assign/v2/v2.hpp>
+
+#include <libs/assign/v2/test/put/compose/functor/stl.h>
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_stl{
+
+	void test(){
+		using namespace boost::assign::v2;
+        using namespace adaptor;
+        {	// Array
+        	
+            {	
+        		typedef boost::array<int,8> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check(
+                    	cont | _put( a )( b )( c )( d )( e )( f )( g )( h )
+                    );
+                }
+			}
+        }
+        {	// Associative
+        	
+            {	
+        		typedef std::map<int,int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::container;
+                    using namespace checking::constants;
+                    do_check(
+                		cont |
+                    		_put( a, a )( b, b )( c, c )
+                        	( d, d )( e, e )( f, f )
+                        	( g, g )( h, h )
+                    );
+                }
+            }// map
+            {	
+        		typedef std::set<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::container;
+                    using namespace checking::constants;
+                    do_check(
+                		cont |
+                    		_put( a )( b )( c )
+                        	( d )( e )( f )
+                        	( g )( h )
+                    );
+                }
+            }// map
+        }// Associative
+        {
+        	// Sequence
+            {	
+        		typedef std::deque<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check(
+                		cont | _put( a )( b )( c )( d )( e )( f )( g )( h )
+                    );
+                }
+            }// deque
+            {	
+        		typedef std::list<int> cont_;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    cont_ cont;
+                    do_check(
+                		cont | _put( a )( b )( c )( d )( e )( f )( g )( h )
+        			);
+                }
+            }// list
+            {	
+        		typedef std::vector<int> cont_;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+               	 	cont_ cont;
+                    do_check(
+                		cont |
+                        	_put( a )( b )( c )( d )( e )( f )( g )( h )
+                    );
+                }
+            }// vector
+        } // Sequence
+
+        {
+        	// Push
+            {	
+        		typedef std::queue<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check(
+                        cont |
+                        	_put( a )( b )( c )( d )( e )( f )( g )( h )
+                    );
+                }
+            }// queue
+        	// Push
+            {	
+        		typedef std::stack<int> cont_;
+                cont_ cont;
+                {
+            		using namespace checking::constants;
+                	using namespace checking::container;
+                    do_check(
+                		cont |
+                        	_put( a )( b )( c )( d )( e )( f )( g )( h )
+                    );
+                }
+            }// queue
+        }// Push
+	}// test()
+  
+}// xxx_stl
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
Added: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,27 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_STL_ER_2010_H
+#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_STL_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_put{
+namespace xxx_compose{
+namespace xxx_functor{
+namespace xxx_stl{
+
+    void test();
+    
+}// xxx_stl
+}// xxx_functor
+}// xxx_compose
+}// xxx_put
+}// xxx_test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,105 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/vector/vector0.hpp>
+#include <boost/mpl/vector/vector10.hpp>
+#include <boost/array.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/ref/wrapper/copy.hpp>
+#include <boost/assign/v2/ref/fusion/fusion.hpp>
+#include <libs/assign/v2/test/ref/fusion.h>
+
+namespace test_assign_v2{
+namespace xxx_ref{
+namespace xxx_fusion{
+
+    void test()
+    { 
+    	using namespace boost::assign::v2;
+    	using namespace ref;
+        typedef assign_tag::copy tag1_;
+        typedef boost::use_default tag2_;
+        typedef boost::mpl::int_<0> i0_;
+        typedef boost::mpl::int_<1> i1_;
+        typedef boost::mpl::int_<2> i2_;
+        {
+        	typedef int t0_;
+        	typedef int const t1_;
+        	typedef const char* t2_;
+			t0_ a = 0;
+        	t1_ b = 1;
+            t2_ c = "c";
+
+        	typedef nth_result_of::fusion<tag1_, tag2_> result_;
+        	typedef boost::mpl::apply1<result_,
+            	boost::mpl::vector<t0_,t1_,t2_>
+            >::type ar_;
+        	ar_ ar = fusion<tag1_, tag2_>( _nil )( a )( b )( c );
+            ar.static_lookup( i0_() );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &ar.static_lookup( i0_() ), &a );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &ar.static_lookup( i1_() ), &b );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &ar.static_lookup( i2_() ), &c );
+			{
+        		typedef boost::mpl::apply1<result_,
+                	boost::mpl::vector<t0_,t1_>
+                >::type ar2_;
+            	ar2_ ar2 = ar.pop();
+                BOOST_ASSIGN_V2_CHECK_EQUAL( &ar2.back(), &b );
+        		typedef boost::mpl::apply1<result_,
+                	boost::mpl::vector<t0_>
+                >::type ar1_;
+            	ar1_ ar1 = ar2.pop();
+                BOOST_ASSIGN_V2_CHECK_EQUAL( &ar1.back(), &a );
+        		typedef boost::mpl::apply1<
+                	result_,
+                    boost::mpl::vector0<>
+                >::type ar0_;
+            	ar0_ ar0 = ar1.pop();
+            }
+        }
+        {
+        	typedef int t_;
+			t_ a = 0;
+        	t_ b = 1;
+            t_ c = 2;
+			typedef wrapper<tag1_,t_> w_;
+            typedef boost::array<w_,3> arw_;    
+        	typedef nth_result_of::fusion<tag1_, tag2_> result_;
+        	typedef boost::mpl::apply1<result_,
+            	boost::mpl::vector<t_,t_,t_>
+            >::type ar_;
+        	ar_ ar = fusion<tag1_, tag2_>( _nil )( a )( b )( c );
+            arw_ arw;
+            assign_array( arw, ar );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &arw[ 0 ].unwrap() , &a );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &arw[ 1 ].unwrap() , &b );
+        	BOOST_ASSIGN_V2_CHECK_EQUAL( &arw[ 2 ].unwrap() , &c );
+        }
+        {
+        	typedef int t_;
+			t_ a = 0;
+        	t_ b = 1;
+            t_ c = 2;
+            typedef boost::tuple<t_ const&> tuple_;
+        	typedef nth_result_of::fusion<tag1_,tag2_> result_;
+        	typedef boost::mpl::apply1<result_,
+            	boost::mpl::vector<t_,t_,t_>
+            >::type ar_;
+        	fusion<tag1_, tag2_>( _nil )
+            	( tuple_( a ) )( tuple_( b ) )( tuple_( c ) );
+        }
+    }
+
+}// xxx_fusion
+}// xxx_ref
+}// test_assign
+
Added: sandbox/statistics/support/libs/assign/v2/test/ref/fusion.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,23 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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_V2_TEST_REF_FUSION_ER_2010_H
+#define BOOST_ASSIGN_V2_TEST_REF_FUSION_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_ref{
+namespace xxx_fusion{
+
+    void test();
+    
+}// xxx_fusion
+}// xxx_ref
+}// test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,65 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#include <boost/mpl/vector/vector0.hpp>
+#include <boost/mpl/vector/vector10.hpp>
+#include <boost/mpl/vector.hpp>
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/ref/fusion_matrix/container.hpp>
+#include <boost/assign/v2/ref/fusion_matrix/nth_result_of.hpp>
+
+#include <libs/assign/v2/test/ref/fusion_matrix.h>
+
+namespace test_assign_v2{
+namespace xxx_ref{
+namespace xxx_fusion_matrix{
+
+    void test()
+    {
+    	using namespace boost::assign::v2;
+        typedef ref::fusion_matrix_aux::empty<>::type empty_;
+        typedef boost::mpl::vector0<> v0_;
+        typedef boost::mpl::vector1<int const> v1_;
+        typedef boost::mpl::vector2<int const, int const> v2_;
+        typedef ref::nth_result_of::fusion_matrix<> meta_result_;
+		typedef boost::mpl::apply1<
+        	meta_result_,
+            boost::mpl::vector<
+            	v2_,
+                v1_,
+                v0_
+            >
+        >::type result_;
+
+        empty_ e;
+        result_ result = e( 1, 2 )( 1 )();
+        
+        typedef boost::mpl::int_<0> int0_;
+        typedef boost::mpl::int_<1> int1_;
+        typedef boost::mpl::int_<2> int2_;
+        {
+        	BOOST_AUTO(tmp, result.static_row( int0_() ) );
+            BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int0_() ), 1);
+            BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int1_() ), 2);
+        }
+        {
+        	BOOST_AUTO(tmp, result.static_row( int1_() ) );
+            BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int0_() ), 1);
+        }
+        {
+        	BOOST_AUTO(tmp, result.static_row( int2_() ) );
+        }
+        
+    }
+
+}// xxx_fusion_matrix
+}// xxx_ref
+}// test_assign
Added: sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,23 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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_V2_TEST_REF_FUSION_MATRIX_ER_2010_H
+#define BOOST_ASSIGN_V2_TEST_REF_FUSION_MATRIX_ER_2010_H
+
+namespace test_assign_v2{
+namespace xxx_ref{
+namespace xxx_fusion_matrix{
+
+    void test();
+    
+}// xxx_fusion_matrix
+}// xxx_ref
+}// test_assign
+
+#endif
Added: sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1 @@
+// TODO remove file
Added: sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.h
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/unary_anon.h	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1 @@
+// TODO remove file
\ No newline at end of file
Added: sandbox/statistics/support/libs/assign/v2/test/unit_testing/put_compose.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/libs/assign/v2/test/unit_testing/put_compose.cpp	2010-11-12 09:01:10 EST (Fri, 12 Nov 2010)
@@ -0,0 +1,53 @@
+//////////////////////////////////////////////////////////////////////////////
+//  Boost.Assign v2                                                         //
+//                                                                          //
+//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
+//  Copyright (C) 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 LIBS_ASSIGN_V2_TEST_UNIT_TEST_PUT_COMPOSE_ER_2010_CPP
+#define LIBS_ASSIGN_V2_TEST_UNIT_TEST_PUT_COMPOSE_ER_2010_CPP
+
+#include <iostream> // needed?
+
+#include <boost/test/test_tools.hpp>
+#define BOOST_ASSIGN_CHECK_EQUAL(a,b) BOOST_CHECK_EQUAL(a,b)
+#include <libs/assign/v2/test/put/compose/common/forward_parameter.cpp>
+#include <libs/assign/v2/test/put/compose/csv/composer.cpp>
+#include <libs/assign/v2/test/put/compose/csv/stl.cpp>
+#include <libs/assign/v2/test/put/compose/functor/composer.cpp>
+#include <libs/assign/v2/test/put/compose/functor/forward_args.cpp>
+#include <libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp>
+#include <libs/assign/v2/test/put/compose/functor/stl.cpp>
+
+#include <boost/test/unit_test.hpp>
+using boost::unit_test::test_suite;
+test_suite* init_unit_test_suite( int argc, char* argv[] )
+{                                            
+    test_suite* test = BOOST_TEST_SUITE( "BOOST_ASSIGN_V2" ); 
+    using namespace test_assign_v2;  
+    {
+    	using namespace xxx_put::xxx_compose; 
+        {
+        	using namespace xxx_common;
+			test->add( BOOST_TEST_CASE( &xxx_forward_parameter::test ) );
+        }
+        {
+        	using namespace xxx_csv;
+			test->add( BOOST_TEST_CASE( &xxx_composer::test ) );
+			test->add( BOOST_TEST_CASE( &xxx_stl::test ) );
+        }
+        {
+        	using namespace xxx_functor;
+			test->add( BOOST_TEST_CASE( &xxx_composer::test ) );
+			test->add( BOOST_TEST_CASE( &xxx_forward_args::test ) );
+			test->add( BOOST_TEST_CASE( &xxx_forward_seq_args::test ) );
+			test->add( BOOST_TEST_CASE( &xxx_stl::test ) );
+        }
+    }
+    return test;                             
+}                                            
+
+#endif