Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r70517 - in sandbox/assign_v2: boost/assign/v2 boost/assign/v2/chain boost/assign/v2/conversion boost/assign/v2/detail/functor boost/assign/v2/include boost/assign/v2/include/logical_and boost/assign/v2/interpreter boost/assign/v2/option boost/assign/v2/ref/array boost/assign/v2/ref/aux_/list boost/assign/v2/ref/aux_/list/holder libs/assign/v2 libs/assign/v2/src libs/assign/v2/test libs/assign/v2/test/ref libs/assign/v2/test/unit_testing
From: erwann.rogard_at_[hidden]
Date: 2011-03-24 16:51:44


Author: e_r
Date: 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
New Revision: 70517
URL: http://svn.boost.org/trac/boost/changeset/70517

Log:
upd assign_v2
Text files modified:
   sandbox/assign_v2/boost/assign/v2/chain.hpp | 3 +
   sandbox/assign_v2/boost/assign/v2/chain/chain.hpp | 60 ++++++++++++++++++++++-----------------
   sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp | 6 ++--
   sandbox/assign_v2/boost/assign/v2/chain/meta.hpp | 27 ++++++++++++-----
   sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp | 11 +++++--
   sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp | 2
   sandbox/assign_v2/boost/assign/v2/csv.hpp | 2
   sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp | 2
   sandbox/assign_v2/boost/assign/v2/include.hpp | 5 ++-
   sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp | 2
   sandbox/assign_v2/boost/assign/v2/include/ref.hpp | 2
   sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp | 2
   sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp | 6 ++--
   sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp | 4 +-
   sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp | 6 ++--
   sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp | 8 ++--
   sandbox/assign_v2/boost/assign/v2/option/modifier.hpp | 6 ++--
   sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp | 14 ++++----
   sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp | 2
   sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp | 2
   sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp | 14 +--------
   sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp | 12 +++----
   sandbox/assign_v2/libs/assign/v2/src/main.cpp | 47 +++++++++++++++----------------
   sandbox/assign_v2/libs/assign/v2/test/chain.cpp | 8 ++--
   sandbox/assign_v2/libs/assign/v2/test/conversion.cpp | 18 ++++++------
   sandbox/assign_v2/libs/assign/v2/test/csv.cpp | 6 ++--
   sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp | 6 ++--
   sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp | 2
   sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 | 5 +--
   sandbox/assign_v2/libs/assign/v2/tutorial.cpp | 4 ++
   30 files changed, 154 insertions(+), 140 deletions(-)

Modified: sandbox/assign_v2/boost/assign/v2/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -11,6 +11,7 @@
 #define BOOST_ASSIGN_V2_CHAIN_ER_2010_HPP
 
 #include <boost/assign/v2/chain/chain.hpp>
-// #include <boost/assign/v2/chain/operator_and.hpp> // keep commented out as it is option
+// keep commented out as it is optional:
+// #include <boost/assign/v2/chain/logical_and.hpp>
 
 #endif // BOOST_ASSIGN_V2_CHAIN_ER_2010_HPP

Modified: sandbox/assign_v2/boost/assign/v2/chain/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -11,6 +11,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_CHAIN_CHAIN_ER_2010_HPP
 #define BOOST_ASSIGN_V2_CHAIN_CHAIN_ER_2010_HPP
+#include <boost/assign/v2/detail/pp/ignore.hpp>
 #include <boost/assign/v2/chain/meta.hpp>
 #include <boost/mpl/void.hpp>
 
@@ -22,12 +23,13 @@
 namespace boost{
 namespace assign{
 namespace v2{
+//[syntax_chain_chain
 namespace chain_aux{
 
- typedef ::boost::mpl::void_ void_;
+ /*<-*/typedef ::boost::mpl::void_ void_;/*->*/
 
     template<typename U>
- struct adaptor1
+ struct adaptor1/*<-*/
     {
         adaptor1( U& r )
             : ptr( &r )
@@ -35,9 +37,9 @@
         U& reference()const{ return *this->ptr; }
         private:
         mutable U* ptr;
- };
+ }/*->*/;
 
- struct adaptor2
+ struct adaptor2/*<-*/
     {
 
         adaptor2(){}
@@ -60,37 +62,43 @@
             return result<R const>::call( r );
         }
 
- };
+ }/*->*/;
+
+ template<typename R1, typename U2>
+ typename result_of::chain<R1, U2>::type
+ operator|(R1 & r1, chain_aux::adaptor1<U2> const & h)/*<-*/
+ {
+ typedef result_of::chain<R1, U2> caller_;
+ return caller_::call( r1, h.reference() );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ template<typename R1, typename U2>
+ typename result_of::chain<R1 const, U2>::type
+ operator|(R1 const & r1, chain_aux::adaptor1<U2> const & h)/*<-*/
+ {
+ typedef result_of::chain<R1 const, U2> caller_;
+ return caller_::call( r1, h.reference() );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
 }// chain_aux
+//<-
 namespace{
- const chain_aux::adaptor2 _chain = chain_aux::adaptor2();
+//->
+
+ const chain_aux::adaptor2 _chain/*<-*/ = chain_aux::adaptor2()/*->*/;
+
+//<-
 }
+//->
 namespace result_of{
 
     template<typename R1, typename R2>
- struct chain : chain_aux::result<R1, R2>{};
+ struct chain/*<-*/
+ : chain_aux::result_of::chain<R1, R2>
+ {}/*->*/;
 
 }// result_of
-namespace chain_aux{
-
-#define BOOST_ASSIGN_V2_INTERPRETER_CHAIN(U1) \
- template<typename R1, typename U2> \
- typename chain_aux::result<U1, U2>::type \
- operator|(U1 & r1, chain_aux::adaptor1<U2> const & h) \
- { \
- typedef chain_aux::result<U1, U2> caller_; \
- return caller_::call( r1, h.reference() ); \
- } \
-\
-/**/
-
-BOOST_ASSIGN_V2_INTERPRETER_CHAIN(R1 )
-BOOST_ASSIGN_V2_INTERPRETER_CHAIN(R1 const)
-#undef BOOST_ASSIGN_V2_INTERPRETER_CHAIN
-
-}// chain_aux
-
+//]
 }// v2
 }// assign
 }// boost

Modified: sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -8,8 +8,8 @@
 // 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_CHAIN_OPERATOR_AND_ER_2010_HPP
-#define BOOST_ASSIGN_V2_CHAIN_OPERATOR_AND_ER_2010_HPP
+#ifndef BOOST_ASSIGN_V2_CHAIN_LOGICAL_AND_ER_2010_HPP
+#define BOOST_ASSIGN_V2_CHAIN_LOGICAL_AND_ER_2010_HPP
 #include <boost/assign/v2/chain/meta.hpp>
 #include <boost/assign/v2/chain/chain.hpp>
 
@@ -19,7 +19,7 @@
 
 #define BOOST_ASSIGN_V2_MACRO(U1, U2) \
 template<typename R1, typename R2> \
-typename chain_aux::result< \
+typename result_of::chain< \
     U1,\
     U2 \
>::type \

Modified: sandbox/assign_v2/boost/assign/v2/chain/meta.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/meta.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/meta.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -10,6 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_CHAIN_META_ER_2010_HPP
 #define BOOST_ASSIGN_V2_CHAIN_META_ER_2010_HPP
 #include <boost/assign/v2/chain/iterator.hpp>
+#include <boost/assign/v2/detail/pp/ignore.hpp>
 #include <boost/config.hpp>
 #include <boost/concept/assert.hpp>
 #include <boost/mpl/and.hpp>
@@ -28,8 +29,10 @@
     struct use_default;
 namespace assign{
 namespace v2{
+//[syntax_chain_meta
 namespace chain_aux{
 
+//<-
     template<typename R1, typename R2, template<typename> class F>
     struct range{
 
@@ -61,7 +64,6 @@
     struct range_r
         : chain_aux::range<R1, R2, boost::range_const_iterator>{};
 
- // Use-const
     template<typename U1, typename U2,
         bool is_r = boost::is_reference<U1>::value,
         bool is_c = boost::is_const<
@@ -79,14 +81,21 @@
         typename boost::range_reference<R2>::type
>{};
 
- template<typename R1, typename R2>
- struct use_const : ::boost::mpl::bool_<
+//->
+
+ template<
+ typename R1 // Range
+ , typename R2 // Range
+ >
+ struct use_const/*<-*/ : ::boost::mpl::bool_<
         !dont_use_const<R1, R2>::value
- >{};
+ >{}/*->*/;
     
- // Result
+namespace result_of{
+
     template<typename R1, typename R2>
- struct result{
+ struct chain/*<-*/
+ {
         typedef typename ::boost::mpl::eval_if<
             chain_aux::use_const<R1, R2>,
             ::boost::mpl::identity< chain_aux::range_r<R1, R2> >,
@@ -99,9 +108,11 @@
         {
             return caller_::call( r1, r2 );
         }
- };
-
+ }/*->*/;
+
+}// result_of
 }// chain_aux
+//]
 }// v2
 }// assign
 }// boost

Modified: sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -16,7 +16,7 @@
 namespace boost{
 namespace assign{
 namespace v2{
-//[syntax_utility_conversion_convert
+//[syntax_conversion_convert
 namespace convert_tag{
 
     struct put{};
@@ -42,7 +42,7 @@
 
     template<typename C, typename R>
     struct deduce_tag;
-//->
+
     template<typename C, typename R>
     C convert(R const& r)/*<-*/
     {
@@ -50,6 +50,8 @@
         return conversion_aux::convert<C>( r, tag_() );
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
+//->
+
     template<typename C>
     struct convert_adapter/*<-*/{}/*->*/;
     
@@ -62,7 +64,10 @@
 }// conversion_aux
 namespace result_of{
 
- template<typename /*<<Container>>*/ C, typename /*<<Range>>*/R>
+ template<
+ typename C // Container
+ , typename R // Range
+ >
     struct convert/*<-*/{ typedef C type; }/*->*/;
 
 }//result_of

Modified: sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -20,7 +20,7 @@
 namespace boost{
 namespace assign{
 namespace v2{
-//[syntax_utility_conversion_converter
+//[syntax_conversion_converter
 namespace conversion_aux{
 
     template<typename R>

Modified: sandbox/assign_v2/boost/assign/v2/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/csv.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/csv.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -62,7 +62,7 @@
     };
 
 }// csv_aux
-//[syntax_utility_csv
+//[syntax_csv
 namespace result_of{
 
     template<typename F, typename V>

Modified: sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -36,7 +36,7 @@
         ::boost::mpl::always<T>
>
 #endif
- /*->*/
+ /*->*/
     {
 //<-
         typedef functor_aux::constructor<T> this_;

Modified: sandbox/assign_v2/boost/assign/v2/include.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -25,7 +25,8 @@
 #include <boost/assign/v2/include/csv.hpp>
 #include <boost/assign/v2/include/csv_deque.hpp>
 #include <boost/assign/v2/include/deque.hpp>
-//#include <boost/assign/v2/include/ref.hpp>
-//#include <boost/assign/v2/include/logical_and.hpp>
+#include <boost/assign/v2/include/logical_and.hpp>
+#include <boost/assign/v2/include/macro.hpp>
+#include <boost/assign/v2/include/ref.hpp>
 
 #endif // BOOST_ASSIGN_V2_INCLUDE_ER_2010_HPP

Modified: sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -9,6 +9,6 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP
 #define BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP
-#include <boost/assign/v2/chain/operator_and.hpp>
+#include <boost/assign/v2/chain/logical_and.hpp>
 
 #endif //BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP

Modified: sandbox/assign_v2/boost/assign/v2/include/ref.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include/ref.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include/ref.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -9,6 +9,6 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP
 #define BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP
-//#include <boost/assign/v2/ref/include.hpp>
+#include <boost/assign/v2/ref/include.hpp>
 
 #endif // BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP

Modified: sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -20,7 +20,7 @@
 namespace interpreter_aux{
 
     template<
- typename R // Range
+ typename R // Range
>
     class as_arg_list_adapter/*<-*/
     {

Modified: sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -134,10 +134,10 @@
     };
 
     template<
- typename C // Container,
- , typename F // Data generator
+ typename C // Container,
+ , typename F // Data generator
         , typename Tag // Modifier tag
- , typename D // Derived
+ , typename D // Derived
>
     class interpreter_crtp
 //<-

Modified: sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -42,7 +42,7 @@
     }/*->*/;
 
     template<
- typename C // Value-container
+ typename C // Value-container
         , template<typename > class F = container_value
>
     struct deduce_value_generator/*<-*/
@@ -53,7 +53,7 @@
     }/*->*/;
 
     template<
- typename C // Value or pointer-container
+ typename C // Value or pointer-container
>
     struct deduce_data_generator/*<-*/
         : boost::mpl::eval_if<

Modified: sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -29,7 +29,7 @@
 //[syntax_interpreter_modifier
 namespace modifier_tag{
 
- // Namespace in which to declare template arguments of `interpreter_modifier<>`
+ // Namespace in which to declare template arguments of `interpreter_modifier<>`
 
 }//modifier_tag
 namespace interpreter_aux{
@@ -37,7 +37,7 @@
     template<typename Tag>
     struct interpreter_modifier
     {
- // Specialize on Tag to model ConceptModifier
+ // Specialize on Tag to model ConceptModifier
     };
 
     template<typename Tag, typename C, typename T>
@@ -130,7 +130,7 @@
 namespace interpreter_aux{
 
     template<
- typename C // Container
+ typename C // Container
>
     struct deduce_modifier_tag/*<-*/
         : switch_aux::result< switch_tag::deduce_put, C>

Modified: sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -19,11 +19,11 @@
 namespace interpreter_aux{
                 
     template<
- typename D // Derives from interpreter_crtp
+ typename D // Derives from interpreter_crtp
>
     struct replace_data_generator{
 
- // Metafunction class specialized on D should return its transformation
+ // Metafunction class specialized on D should return its transformation
         // by D::fun_type = F
     
         template<typename F>
@@ -31,11 +31,11 @@
     };
 
     template<
- typename D // Derives from interpreter_crtp
+ typename D // Derives from interpreter_crtp
>
     struct replace_modifier_tag{
 
- // Metafunction class specialized on D should return its transformation
+ // Metafunction class specialized on D should return its transformation
         // by D::modifier_tag = Tag
 
         template<typename Tag>

Modified: sandbox/assign_v2/boost/assign/v2/option/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/option/modifier.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -85,7 +85,7 @@
     template<typename C, typename F, typename Tag, typename D,
         typename Keyword, typename Arg>
     typename ::boost::mpl::apply2<
- result_of::option_modifier<D>, Keyword, Arg
+ result_of::option_modifier<D>, Keyword, Arg
>::type
     operator%(
         interpreter_crtp<C, F, Tag, D> const& lhs,
@@ -110,8 +110,8 @@
 
 }// interpreter_aux
 
- /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD(NAME) unspecified/*<-*/)/*->*/
- /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG(NAME, Result) unspecified/*<-*/)/*->*/
+ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD(NAME) unspecified/*<-*/)/*->*/
+ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG(NAME, Result) unspecified/*<-*/)/*->*/
 
 //]
 namespace result_of{

Modified: sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -41,7 +41,7 @@
 namespace nth_result_of{
 
     template<
- array_size_type N
+ array_size_type N
         , typename U // U& has to be a reference
>
     struct array/*<-*/
@@ -61,27 +61,27 @@
 
 }// result_of
 
- // Generates an empty array
+ // Generates an empty array
     template<typename T>
     typename result_of::array<T, keyword_aux::nil>::type
- array( keyword_aux::nil )
+ array( keyword_aux::nil )
     /*<-*/
     {
         return ref::list<list_aux::array_tag>( v2::_nil );
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
- // Generates a size one array
+ // Generates a size one array
     template<typename T>
     typename result_of::array<T>::type
- array(T& t)/*<-*/
+ array(T& t)/*<-*/
     {
         return array<T>( v2::_nil )( t );
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
- // Generates a size one array
+ // Generates a size one array
     template<typename T>
     typename result_of::array<T const>::type
- array(T const & t)/*<-*/
+ array(T const & t)/*<-*/
     {
         return array<T const>( v2::_nil )( t );
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/

Modified: sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -35,7 +35,7 @@
 namespace nth_result_of{
 
     template<
- array_size_type N
+ array_size_type N
         , typename U // U& has to be a reference
>
     struct csv_array/*<-*/

Modified: sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -33,7 +33,7 @@
 namespace result_of{
 
     template<
- typename R // Range of reference-wrappers
+ typename R // Range of reference-wrappers
>
     struct transform_get/*<-*/{
 

Modified: sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -25,7 +25,7 @@
 
     template<typename Tag, typename H, typename T>
     class container :
- public tail_holder<T>, // (*) see holder/tail.hpp
+ public tail_holder<T>,
         public head_holder<H>,
         public ::boost::mpl::apply2<policy<Tag>, H, T>::type
     {
@@ -47,7 +47,7 @@
             typename boost::call_traits<T>::param_type t,
             H h
         ):
- tail_( t ) // // tail_holder_( t ) // (*)
+ tail_holder_( t )
             , head_holder_( h )
         {}
 
@@ -65,16 +65,6 @@
             return result_( *this, h );
         }
         
- typedef typename tail_holder_::result_of_tail_type result_of_tail_type;
-
- // (*)
- result_of_tail_type
- tail()const{ return this->tail_; }
-
- private:
- typename boost::call_traits< // (*)
- typename tail_holder_::result_of_tail_type
- >::value_type tail_;
     };
 
 }// list_aux

Modified: sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -24,19 +24,17 @@
     template<typename T>
     struct tail_holder
     {
-// (*) MSVC workaround : tail has to be variable, not a base class
-// http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/68d0361c-1813-4689-aaa3-b78f47eaf8ad
 
- //tail_holder(T const& t) : tail_( t ){}
- //result_of_tail_type tail()const{ return this->tail_; }
 
         typedef T tail_type;
         typedef ::boost::mpl::int_<T::static_size::value + 1> static_size;
-
         typedef T const& result_of_tail_type;
 
- //private:
- //T const& tail_;
+ tail_holder(T const& t) : tail_( t ){}
+ result_of_tail_type tail()const{ return this->tail_; }
+
+ private:
+ T const tail_; // A reference would cause ref to temporary
     };
 
     template<>

Modified: sandbox/assign_v2/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/src/main.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/src/main.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -1,37 +1,35 @@
-/*
 #include <string>
 #include <iostream>
 #include <boost/config.hpp>
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #include <boost/format.hpp>
-#include <boost/version.hpp>*/
+#include <boost/version.hpp>
 
 // Test
 #include <libs/assign/v2/test/chain.h>
 #include <libs/assign/v2/test/conversion.h>
 #include <libs/assign/v2/test/csv.h>
 #include <libs/assign/v2/test/detail.h>
-//#include <libs/assign/v2/test/deque.h>
-//#include <libs/assign/v2/test/interpreter.h>
-//#include <libs/assign/v2/test/option.h>
-//#include <libs/assign/v2/test/pipe.h>
-//#include <libs/assign/v2/test/put.h>
-//#include <libs/assign/v2/test/ref.h>
+#include <libs/assign/v2/test/deque.h>
+#include <libs/assign/v2/test/interpreter.h>
+#include <libs/assign/v2/test/option.h>
+#include <libs/assign/v2/test/pipe.h>
+#include <libs/assign/v2/test/put.h>
+#include <libs/assign/v2/test/ref.h>
 
 // Tutorial
-//#include <libs/assign/v2/tutorial.h>
+#include <libs/assign/v2/tutorial.h>
 
 // Speed -- CPP0x required
 //#include <fstream>
 //#include <libs/assign/v2/speed/test.h>
 
-//#include <boost/assign/v2/include.hpp>
+#include <boost/assign/v2/include.hpp>
 
 int main (int argc, char * const argv[])
 {
 
     // Do not put libs/assign/v2/test/unit_testing in this project
-/*
     {
         boost::format f( "boost version %1%.%2% %3% " );
         f % (BOOST_VERSION / 100000 ) % ( (BOOST_VERSION / 100) % 1000) % (BOOST_VERSION % 100 );
@@ -64,21 +62,22 @@
 
         std::cout << cpp0x.str() << std::endl;
     }
-*/
     {
-// using namespace test_assign_v2;
-// xxx_detail::test();
-// xxx_deque::test();
-// xxx_interpreter::test();
-// xxx_option::test();
-// xxx_pipe::test();
-// xxx_put::test();
-// xxx_ref::test();
-// xxx_utility::test();
+ using namespace test_assign_v2;
+ xxx_chain::test();
+ xxx_conversion::test();
+ xxx_csv::test();
+ xxx_detail::test();
+ xxx_deque::test();
+ xxx_interpreter::test();
+ xxx_option::test();
+ xxx_pipe::test();
+ xxx_put::test();
+ xxx_ref::test();
+ }
+ {
+ tutorial_assign_v2::run();
     }
-// {
-// tutorial_assign_v2::run();
-// }
     {
         //using namespace speed_assign_v2;
         //std::ofstream ofs("assign_v2_speed_test");

Modified: sandbox/assign_v2/libs/assign/v2/test/chain.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/chain.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/chain.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -19,7 +19,7 @@
 #include <boost/assign/v2/deque/csv_deque.hpp>
 #include <boost/assign/v2/chain/check.hpp>
 #include <boost/assign/v2/chain.hpp>
-#include <boost/assign/v2/chain/operator_and.hpp>
+#include <boost/assign/v2/chain/logical_and.hpp>
 #include <libs/assign/v2/test/chain.h>
 
 namespace test_assign_v2{
@@ -38,7 +38,7 @@
         }
         // Non-Boost.Assign.v2 containers
         {
- //[test_utility_chain_read
+ //[test_chain_read
             typedef std::string T;
             array<T, 2> head; head[0] = "A"; head[1] = "B";
             std::list<T> tail; tail.push_back( "C" ); tail.push_back( "D" );
@@ -50,7 +50,7 @@
             //]
         }
         {
- //[test_utility_chain_write
+ //[test_chain_write
             typedef std::string word; std::vector<word> words( 6 );
             words[0] = "foo"; words[1] = "bar"; words[2] = "baz";
             words[3] = "qux"; words[4] = "quux"; words[5] = "grault";
@@ -63,7 +63,7 @@
         }
         // Boost.Assign.v2 containers
         {
- //[test_utility_chain_write_refs
+ //[test_chain_write_refs
             /*<< Needed to bring && into scope >>*/ using namespace assign::v2;
             std::vector<int> consecutive8( 8 );
             for(int i = 0; i < 8; i++){ consecutive8[i] = 1 + i; }

Modified: sandbox/assign_v2/libs/assign/v2/test/conversion.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/conversion.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/conversion.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -23,7 +23,7 @@
 namespace xxx_conversion{
 
     // suggested by JB:
- //[test_utility_conversion_f
+ //[test_conversion_f
     template<typename C, typename R>
     void f(C cont, R const& r){
         namespace as2 = boost::assign::v2;
@@ -39,7 +39,7 @@
 
         // External containers (fully qualified)
         {
- //[test_utility_conversion_vec_array
+ //[test_conversion_vec_array
             std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
             typedef array<int, 3> ar_;
             ar_ const& ar = ( r | as2::_convert<ar_>() );
@@ -48,7 +48,7 @@
             //]
         }
         {
- //[test_utility_conversion_vec_stack
+ //[test_conversion_vec_stack
             std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
             std::stack<int> lifo = as2::converter( r );
             
@@ -56,7 +56,7 @@
             //]
         }
         {
- //[test_utility_conversion_stl
+ //[test_conversion_stl
             typedef int T; typedef std::vector<T> R; R r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
             f< std::vector<T> >( as2::converter( r ), r );
             f< std::deque<T> >( as2::converter( r ), r );
@@ -66,7 +66,7 @@
             //]
         }
         {
- //[test_utility_conversion_matrix3x3
+ //[test_conversion_matrix3x3
             const int sz = 3; typedef array<int, sz> row_;
             array<row_, sz> matrix3x3 = converter(
                 as2::ref::array
@@ -83,7 +83,7 @@
         }
         // Boost.Assign.2.0 containers - name lookup
         {
- //[test_utility_conversion_as2_deque_array
+ //[test_conversion_as2_deque_array
             std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
             typedef array<int, 3> ar_;
             ar_ const& ar = ( as2::csv_deque( 72, 31, 48 ) | as2::_convert<ar_>() );
@@ -92,21 +92,21 @@
             //]
         }
         {
- //[test_utility_conversion_ref_array_stack
+ //[test_conversion_ref_array_stack
             std::stack<int> lifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::ref::array( 72 )( 31 )( 48 ) );
             
             BOOST_ASSIGN_V2_CHECK( lifo.top() == 48 );
             //]
         }
         {
- //[test_utility_conversion_ref_array_queue
+ //[test_conversion_ref_array_queue
             std::queue<int> fifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::ref::csv_array( 72, 31, 48 ) );
             
             BOOST_ASSIGN_V2_CHECK( fifo.front() == 72 );
             //]
         }
         {
- //[test_utility_conversion_as2_deque_stack
+ //[test_conversion_as2_deque_stack
             std::stack<int> lifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::csv_deque( 72, 31, 48 ) );
             
             BOOST_ASSIGN_V2_CHECK( lifo.top() == 48 );

Modified: sandbox/assign_v2/libs/assign/v2/test/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/csv.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -24,7 +24,7 @@
         using namespace boost;
         namespace as2 = assign::v2;
         {
- //[test_utility_csv_put
+ //[test_csv_put
             std::deque<int> cont;
             as2::csv( as2::put( cont ), 72, 31, 48 );
 
@@ -32,7 +32,7 @@
             //]
         }
         {
- //[test_utility_csv_put_modulo
+ //[test_csv_put_modulo
             std::deque<int> cont;
             as2::csv( as2::put( cont ) % as2::_push_front, 72, 31, 48 );
 
@@ -40,7 +40,7 @@
             //]
         }
         {
- //[test_utility_csv_deque_modulo
+ //[test_csv_deque_modulo
             BOOST_AUTO(
                 cont,
                 as2::csv( as2::deque<int>( as2::_nil ) % as2::_push_front, 72, 31, 48 )

Modified: sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -22,17 +22,17 @@
 
     void test()
     {
- //[test_ref_get
+ //[test_ref_get
         namespace as2 = boost::assign::v2;
         typedef int T; typedef as2::ref::copy_wrapper<T>::type w_;
         boost::array<w_, 3> ref_array; int x, y, z;
         
         boost::copy(
- as2::csv_deque( w_( x ), w_( y ), w_( z ) ),
+ as2::csv_deque( w_( x ), w_( y ), w_( z ) ),
             boost::begin( ref_array )
         );
         boost::copy(
- as2::csv_deque( 314, 3141, 31415 ),
+ as2::csv_deque( 314, 3141, 31415 ),
             boost::begin( ref_array | as2::ref::_get )
         );
 

Modified: sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -37,7 +37,7 @@
         }
         #if BOOST_ASSIGN_V2_ENABLE_CPP0X
         {
- //[test_ref_wrapper
+ //[test_ref_wrapper
             typedef val_ const cval_;
             typedef as2::ref::wrapper_param<val_>::type param_;
             BOOST_MPL_ASSERT(( boost::is_same<param_, cval_> ));

Modified: sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 (original)
+++ sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -21,12 +21,11 @@
     [ assign-test csv ]
     [ assign-test deque ]
     [ assign-test detail ]
- [ assign-test framework ]
- [ assign-test optional ]
+ [ assign-test interpreter ]
+ [ assign-test option ]
     [ assign-test pipe ]
     [ assign-test put ]
     [ assign-test ref ]
- [ assign-test utility ]
 ;
 
 

Modified: sandbox/assign_v2/libs/assign/v2/tutorial.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/tutorial.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/tutorial.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -79,7 +79,9 @@
             array<int, 5> consecutive5; int six, seven, eight;
             boost::copy(
                 consecutive8,
- boost::begin( consecutive5 | _chain( ref::csv_array( six, seven, eight ) | ref::_get ) )
+ boost::begin(
+ consecutive5 | _chain( ref::csv_array( six, seven, eight ) | ref::_get )
+ )
             );
 
             assert( range::equal( consecutive5, csv_deque(1, 2, 3, 4, 5) ) );


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