$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r67832 - in sandbox/statistics/support/boost/assign/v2/put: . sub
From: erwann.rogard_at_[hidden]
Date: 2011-01-08 20:53:31
Author: e_r
Date: 2011-01-08 20:53:29 EST (Sat, 08 Jan 2011)
New Revision: 67832
URL: http://svn.boost.org/trac/boost/changeset/67832
Log:
addg to boost/assign/v2
Added:
   sandbox/statistics/support/boost/assign/v2/put/deque.hpp   (contents, props changed)
   sandbox/statistics/support/boost/assign/v2/put/pipe.hpp   (contents, props changed)
   sandbox/statistics/support/boost/assign/v2/put/sub/functor.hpp   (contents, props changed)
Added: sandbox/statistics/support/boost/assign/v2/put/deque.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/boost/assign/v2/put/deque.hpp	2011-01-08 20:53:29 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,17 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_PUT_DEQUE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_DEQUE_ER_2010_HPP
+
+#include <boost/assign/v2/put/deque/cont.hpp>
+#include <boost/assign/v2/put/deque/functor.hpp>
+#include <boost/assign/v2/put/deque/csv.hpp>
+
+#endif
Added: sandbox/statistics/support/boost/assign/v2/put/pipe.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/boost/assign/v2/put/pipe.hpp	2011-01-08 20:53:29 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,22 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_PUT_PIPE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_PIPE_ER_2010_HPP
+
+#include <boost/assign/v2/put/pipe/csv.hpp>
+#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/put/pipe/range.hpp>
+#include <boost/assign/v2/put/pipe/convert.hpp>
+
+// Basic usage:
+//  using namespace boost::assign::v2;
+//  cont | _csv_put(x, y, z)
+
+#endif // BOOST_ASSIGN_V2_PUT_PIPE_ER_2010_HPP
Added: sandbox/statistics/support/boost/assign/v2/put/sub/functor.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/support/boost/assign/v2/put/sub/functor.hpp	2011-01-08 20:53:29 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,128 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_PUT_SUB_FUNCTOR_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_SUB_FUNCTOR_ER_2010_HPP
+#include <boost/assign/v2/ref/wrapper/copy.hpp>
+#include <boost/assign/v2/put/generic/crtp.hpp>
+#include <boost/assign/v2/put/generic/result_of_modulo.hpp>
+
+namespace boost{
+namespace assign{ 
+namespace v2{
+namespace put_aux{
+
+    template<typename V,typename F, typename Tag> class sub;
+
+}// put_aux
+namespace result_of_modulo{
+	
+    template<typename V,typename F,typename Tag>
+    struct new_fun<put_aux::sub<V,F,Tag> >
+    {
+
+    	template<typename F1>
+        struct apply{ typedef put_aux::sub<V,F1,Tag> type; };
+        
+    };
+
+    template<typename V, typename F, typename Tag>
+    struct new_modifier<put_aux::sub<V, F, Tag> >
+    {
+    	template<typename NewTag>
+        struct apply{ typedef put_aux::sub<V, F, NewTag> type; };
+    };
+    
+}//result_of_modulo
+namespace put_aux{
+
+    template<typename V,typename F, typename Tag> class sub;
+    
+    template<typename V,typename F, typename Tag> 
+    class sub 
+    	: protected ref::wrapper< // must be the first base.
+        	ref::assign_tag::copy,
+            V
+        >, 
+        public put_aux::crtp<
+        	V, 
+            F, 
+            Tag, 
+            sub<V,F,Tag> 
+        >
+    {
+
+    	typedef put_aux::crtp<
+        	V, 
+            F, 
+            Tag, 
+            sub<V,F,Tag>
+        > super2_t;
+
+		public:
+
+		typedef typename super2_t::result_type result_type;
+
+		protected:
+
+		typedef put_aux::modifier<Tag> modifier_;
+		typedef ref::assign_tag::copy assign_tag_;
+		typedef ref::wrapper<assign_tag_,V> super1_t;
+
+		public:
+
+		sub(){}
+		explicit sub( V& v ) : super1_t( v ) {}
+		explicit sub( V& v, F const& f ) 
+        	: super1_t( v ), super2_t( f )
+            {
+        		// This constructor is required by crtp 
+                // when Tag or F is modified.
+        	}
+
+		explicit sub( V& v, F const& f, modifier_ const& m ) 
+        	: super1_t( v ), super2_t( f, m )
+            {
+        		// This constructor is required by crtp 
+                // when Tag or F is modified.
+        	}
+
+		V& unwrap()const{ 
+        	return static_cast<super1_t const&>(*this).unwrap(); 
+        }
+
+    };
+
+}// put_aux
+namespace result_of{
+
+	template<typename V>
+    struct put
+    {
+        typedef put_aux::crtp_traits<V> traits_;
+        typedef typename traits_::functor_type f_;
+        typedef typename traits_::modifier_tag modifier_tag_;
+        typedef put_aux::sub<V,f_,modifier_tag_> type;
+    };
+
+}// result_of
+
+	template<typename V>
+    typename result_of::put<V>::type
+	put( V& v )
+    {
+    	typedef typename result_of::put<V>::type result_;
+        return result_( v );
+    }
+
+}// v2
+}// assign
+}// boost
+
+#endif