Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r70143 - in sandbox/assign_v2: boost/assign/v2/detail/traits boost/assign/v2/ref/array boost/assign/v2/utility boost/assign/v2/utility/conversion boost/assign/v2/value/deque libs/assign/v2 libs/assign/v2/test/ref libs/assign/v2/test/utility libs/assign/v2/test/value libs/assign/v2/test/value/modifier libs/assign/v2/test/value/pipe libs/assign/v2/test/value/pipe/modifier
From: erwann.rogard_at_[hidden]
Date: 2011-03-18 18:01:27


Author: e_r
Date: 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
New Revision: 70143
URL: http://svn.boost.org/trac/boost/changeset/70143

Log:
upd assign_v2
Text files modified:
   sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp | 16 -------
   sandbox/assign_v2/boost/assign/v2/ref/array/interface.hpp | 2
   sandbox/assign_v2/boost/assign/v2/utility/conversion/convert.hpp | 1
   sandbox/assign_v2/boost/assign/v2/utility/csv.hpp | 20 ++++++----
   sandbox/assign_v2/boost/assign/v2/value/deque/csv_deque.hpp | 2
   sandbox/assign_v2/libs/assign/v2/test/ref/csv_array.cpp | 6 +-
   sandbox/assign_v2/libs/assign/v2/test/utility/chain.cpp | 12 ++----
   sandbox/assign_v2/libs/assign/v2/test/utility/conversion.cpp | 20 ++++++---
   sandbox/assign_v2/libs/assign/v2/test/utility/csv.cpp | 10 ++---
   sandbox/assign_v2/libs/assign/v2/test/value/deque.cpp | 80 +++++++++++++++++++++++++++------------
   sandbox/assign_v2/libs/assign/v2/test/value/fun.cpp | 8 ++--
   sandbox/assign_v2/libs/assign/v2/test/value/modifier/iterate.cpp | 25 +++++-------
   sandbox/assign_v2/libs/assign/v2/test/value/modifier/lookup.cpp | 15 ++++---
   sandbox/assign_v2/libs/assign/v2/test/value/modifier/repeat.cpp | 15 +++----
   sandbox/assign_v2/libs/assign/v2/test/value/modifier/standard.cpp | 23 +++++------
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/fun.cpp | 1
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/iterate.cpp | 1
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/lookup.cpp | 1
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/repeat.cpp | 1
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/standard.cpp | 7 +--
   sandbox/assign_v2/libs/assign/v2/test/value/pipe/put.cpp | 6 +-
   sandbox/assign_v2/libs/assign/v2/test/value/ptr.cpp | 8 ++--
   sandbox/assign_v2/libs/assign/v2/test/value/put.cpp | 10 ++--
   sandbox/assign_v2/libs/assign/v2/tutorial.cpp | 27 +++++++++----
   24 files changed, 169 insertions(+), 148 deletions(-)

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -1,15 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// 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_DETAIL_TRAITS_TYPE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_DETAIL_TRAITS_TYPE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/type/has_value_type.hpp>
-#include <boost/assign/v2/detail/traits/type/value.hpp>
-
-#endif // BOOST_ASSIGN_V2_DETAIL_TRAITS_TYPE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/ref/array/interface.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/interface.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/interface.hpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -65,7 +65,7 @@
         typedef interface<Impl, D> this_;
         typedef typename traits_::result_of_get_ result_of_get_;
 //->
- typedef /*<-*/typename traits_::param_type BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified/*<-*/)/*->*/param_type;
+ typedef /*<-*/typename traits_::param_type BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified/*<-*/) /*->*/param_type;
 
         public:
 

Modified: sandbox/assign_v2/boost/assign/v2/utility/conversion/convert.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/conversion/convert.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/conversion/convert.hpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -60,7 +60,6 @@
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
 }// conversion_aux
-//using conversion_aux::convert;
 namespace result_of{
 
     template<typename /*<<Container>>*/ C, typename /*<<Range>>*/R>

Modified: sandbox/assign_v2/boost/assign/v2/utility/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/csv.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/csv.hpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -16,6 +16,7 @@
 #include <boost/mpl/fold.hpp>
 #include <boost/mpl/placeholders.hpp>
 #include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector/vector0.hpp>
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
 #include <boost/assign/v2/temporary/variadic_vector.hpp>
@@ -58,23 +59,25 @@
 namespace result_of{
 
     template<typename F, typename V>
- struct csv /*<-*/: ::boost::mpl::apply1<
+ struct csv/*<-*/
+ : ::boost::mpl::apply1<
         csv_aux::result<F>,
         V
- >{}/*->*/;
+ >
+ {}/*->*/;
 
 }// nth_result_of
-//->
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
 //<-
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
 
- template<typename F, typename T>
+ template<typename F>
     typename result_of::csv<F const&,
- ::boost::mpl::vector<T>
+ ::boost::mpl::vector0<>
>::type
- csv( F const& functor, T&& t )/*<-*/
+ csv( F const& functor)/*<-*/
     {
- return functor( t );
+ return functor;
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
     template<typename F, typename T, typename... Args>
@@ -86,6 +89,7 @@
         return csv( functor( t ), std::forward<Args>( args )... );
     }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
+//]
 #else
 #define BOOST_ASSIGN_V2_MACRO1(z, i, data) BOOST_PP_CAT(T, i) data
 #define BOOST_ASSIGN_V2_MACRO2(z, i, data) ( BOOST_PP_CAT(_, i) )

Modified: sandbox/assign_v2/boost/assign/v2/value/deque/csv_deque.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/value/deque/csv_deque.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/value/deque/csv_deque.hpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -48,7 +48,7 @@
 
     template<typename T>
     struct csv_deque/*<-*/
- : value_aux::result_of::deque<T>
+ : value_aux::result_of::csv_deque<T>
     {}/*->*/;
 
 }// result_of

Modified: sandbox/assign_v2/libs/assign/v2/test/ref/csv_array.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/csv_array.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/csv_array.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -30,12 +30,12 @@
             T x = 72, y = 31, z = 48;
             typedef as2::ref::nth_result_of::csv_array<3, T>::type ar_;
             ar_ ar = as2::ref::csv_array( x, y, z );
- /*<-*/{/*->*/
+ {
                 T& a = ar[0]; T& b = ar[2];
-
+
                 BOOST_ASSIGN_V2_CHECK( &a == &x );
                 BOOST_ASSIGN_V2_CHECK( &b == &z );
- /*<-*/}/*->*/
+ }
             //]
             {
                 T& a = ar.front(); T& b = ar.back();

Modified: sandbox/assign_v2/libs/assign/v2/test/utility/chain.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/utility/chain.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/utility/chain.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -56,10 +56,8 @@
             array<word, 3> head; std::list<word> tail( 3 );
             copy( words, begin( head | as2::_chain( tail ) ) );
 
- BOOST_ASSIGN_V2_CHECK( head.front() == "foo" );
- BOOST_ASSIGN_V2_CHECK( head.back() == "baz" );
- BOOST_ASSIGN_V2_CHECK( tail.front() == "qux" );
- BOOST_ASSIGN_V2_CHECK( tail.back() == "grault" );
+ BOOST_ASSIGN_V2_CHECK( range::equal( head, as2::csv_deque<word>( "foo", "bar", "baz" ) ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( tail, as2::csv_deque<word>( "qux", "quux", "grault" ) ) );
             //]
         }
         // Boost.Assign.v2 containers
@@ -73,10 +71,8 @@
                 begin( consecutive5 && (/*<< rvalue! >>*/ as2::ref::csv_array( six, seven, eight ) | as2::ref::_get ) )
             );
 
- BOOST_ASSIGN_V2_CHECK( consecutive5.front() == 1 );
- BOOST_ASSIGN_V2_CHECK( consecutive5.back() == 5 );
- BOOST_ASSIGN_V2_CHECK( six == 6 );
- BOOST_ASSIGN_V2_CHECK( eight == 8 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( consecutive5, as2::csv_deque( 1, 2, 3, 4, 5 ) ) );
+ BOOST_ASSIGN_V2_CHECK( six == 6 ); BOOST_ASSIGN_V2_CHECK( seven == 7 ); BOOST_ASSIGN_V2_CHECK( eight == 8 );
             //]
         }
 

Modified: sandbox/assign_v2/libs/assign/v2/test/utility/conversion.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/utility/conversion.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/utility/conversion.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -16,6 +16,7 @@
 #include <boost/assign/v2/utility/conversion/check.hpp>
 #include <boost/assign/v2/ref/array.hpp>
 #include <boost/assign/v2/value/deque.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <libs/assign/v2/test/utility/conversion.h>
 
 namespace test_assign_v2{
@@ -41,21 +42,22 @@
         {
             //[test_utility_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_>() );
+ typedef array<int, 3> ar_;
+ ar_ const& ar = ( r | as2::convert<ar_>() );
             
- BOOST_ASSIGN_V2_CHECK( ar.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( ar.back() == 48 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( ar, as2::csv_deque( 72, 31, 48 ) ) );
             //]
         }
         {
             //[test_utility_conversion_vec_stack
             std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
             std::stack<int> lifo = as2::converter( r );
+
             BOOST_ASSIGN_V2_CHECK( lifo.top() == 48 );
             //]
         }
         {
- //test_utility_conversion_stl
+ //[test_utility_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 );
@@ -73,6 +75,7 @@
                     ( as2::ref::csv_array( 4, 5, 6 ) | as2::convert<row_>() )
                     ( as2::ref::csv_array( 7, 8, 9 ) | as2::convert<row_>() )
             );
+
             for(int i = 0; i < 9; i++)
             {
                 BOOST_ASSIGN_V2_CHECK( matrix3x3[ i / 3 ][ i % 3 ] == i + 1 );
@@ -83,27 +86,30 @@
         {
             //[test_utility_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_>() );
+ typedef array<int, 3> ar_;
+ ar_ const& ar = ( as2::csv_deque( 72, 31, 48 ) | as2::convert<ar_>() );
             
- BOOST_ASSIGN_V2_CHECK( ar.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( ar.back() == 48 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( ar, as2::csv_deque( 72, 31, 48 ) ) );
             //]
         }
         {
             //[test_utility_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
             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
             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/utility/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/utility/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/utility/csv.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -13,6 +13,7 @@
 #include <boost/assign/v2/value/deque.hpp>
 #include <boost/assign/v2/value/put.hpp>
 #include <boost/assign/v2/value/modifier/push_front.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <libs/assign/v2/test/utility/csv.h>
 
 namespace test_assign_v2{
@@ -28,8 +29,7 @@
             std::deque<int> cont;
             as2::csv( as2::put( cont ), 72, 31, 48 );
 
- BOOST_ASSIGN_V2_CHECK( cont.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 48 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( cont, as2::csv_deque( 72, 31, 48 ) ) );
             //]
         }
         {
@@ -37,8 +37,7 @@
             std::deque<int> cont;
             as2::csv( as2::put( cont ) % as2::_push_front, 72, 31, 48 );
 
- BOOST_ASSIGN_V2_CHECK( cont.front() == 48 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 72 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( cont, as2::csv_deque( 48, 31, 72 ) ) );
             //]
         }
         {
@@ -48,8 +47,7 @@
                 as2::csv( as2::deque<int>( as2::_nil ) % as2::_push_front, 72, 31, 48 )
             );
 
- BOOST_ASSIGN_V2_CHECK( cont.front() == 48 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 72 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( cont, as2::csv_deque( 48, 31, 72 ) ) );
             //]
         }
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/value/deque.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/deque.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/deque.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -7,13 +7,15 @@
 // 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 <string>
+#include <utility>
 #include <boost/mpl/assert.hpp>
 #include <boost/type_traits/is_same.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
 #include <boost/assign/v2/value/deque/csv_deque.hpp>
 #include <boost/assign/v2/value/deque/deque.hpp>
-
+#include <boost/range/algorithm/equal.hpp>
 #include <libs/assign/v2/test/value/deque.h>
 
 namespace test_assign_v2{
@@ -22,36 +24,64 @@
 
     void test()
     {
-
+
         using namespace boost;
         namespace as2 = assign::v2;
         {
- //[test_put_deque_ints
- typedef as2::result_of::deque<int>::type C0;
- C0 empty_cont = as2::deque<int>( as2::_nil );
-
- BOOST_ASSIGN_V2_CHECK( empty_cont( 72 )( 31 )( 48 ).front() == 72 );
- BOOST_ASSIGN_V2_CHECK( as2::deque<int>( 72 )( 31 )( 48 ).back() == 48 );
-
- typedef as2::result_of::csv_deque<int>::type C1;
- C1 cont = as2::csv_deque( 72, 31, 48 );
-
- BOOST_ASSIGN_V2_CHECK( cont.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( as2::csv_deque( 72 )( 31 )( 48 ).back() == 48 );
-
- BOOST_MPL_ASSERT(( is_same<C0, C1> ));
-
+ //[test_value_deque_pair
+ typedef std::string str_;
+ typedef std::pair<str_, str_> T;
+ typedef as2::result_of::deque<T>::type C;
+ C airports = as2::deque<T>("AUH", "Abu Dhabi")("JFK", "New York")("LHR", "Heathrow")( "PEK", "Beijing" );
+
+ std::deque<T> benchmark;
+ benchmark.push_back( T("AUH", "Abu Dhabi") );
+ benchmark.push_back( T("JFK", "New York") );
+ benchmark.push_back( T("LHR", "Heathrow") );
+ benchmark.push_back( T("PEK", "Beijing") );
+
+ range::equal( benchmark, airports );
+ //]
+ } {
+ //[test_value_deque_ints
+ typedef as2::result_of::deque<int>::type C1;
+ typedef as2::result_of::csv_deque<int>::type C2;
+
+ BOOST_MPL_ASSERT(( is_same<C1, C2> ));
+
+ C1 empty_cont = as2::deque<int>( as2::_nil );
+ C1 cont1 = empty_cont( 72 )( 31 )( 48 );
+ C1 cont2 = as2::deque<int>( 72 )( 31 )( 48 );
+ C1 cont3 = as2::csv_deque( 72, 31, 48 );
+ C1 cont4 = as2::csv_deque( 72, 31 )( 48 );
+
+ std::deque<int> benchmark;
+ benchmark.push_back( 72 );
+ benchmark.push_back( 31 );
+ benchmark.push_back( 48 );
+
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, cont1 ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, cont2 ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, cont3 ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, cont4 ) );
             //]
         }
         {
- //[test_put_deque_str_literal
- typedef std::string str_;
- BOOST_ASSIGN_V2_CHECK(
- str_( as2::deque<const char*>( "x" )( "y" )( "z" )[1] ) == "y"
- );
- BOOST_ASSIGN_V2_CHECK(
- str_( as2::csv_deque( "x", "y", "z" )[1] ) == "y"
- );
+ //[test_value_deque_str_literal
+ typedef as2::result_of::deque<char*>::type C1;
+ typedef as2::result_of::csv_deque<const char[2]>::type C2;
+
+ BOOST_MPL_ASSERT(( is_same<C1, C2> ));
+
+ C1 deque1 = as2::deque<char*>( "x" )( "y" )( "z" );
+ C2 deque2 = as2::csv_deque( "x", "y", "z" );
+
+ std::deque<std::string> benchmark;
+ benchmark.push_back( "x" ); benchmark.push_back( "y" ); benchmark.push_back( "z" );
+
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, deque1 ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( benchmark, deque2 ) );
+
             //]
         }
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/value/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/fun.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -22,6 +22,7 @@
 #include <boost/lambda/lambda.hpp>
 #include <boost/lambda/construct.hpp>
 #include <boost/numeric/conversion/bounds.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <boost/typeof/typeof.hpp>
 #include <libs/assign/v2/test/value/fun.h>
 
@@ -68,7 +69,7 @@
         using namespace lambda;
         namespace as2 = assign::v2;
         {
- //[test_put_fun_math
+ //[test_value_fun_math
             std::vector<double> exponent;
             typedef function<double(double)> f_;
             (
@@ -82,7 +83,7 @@
             //]
         }
         {
- //[test_put_fun_recursive
+ //[test_value_fun_recursive
             int i = 1, k = 1;
             BOOST_AUTO(
                 factorials, (
@@ -92,8 +93,7 @@
                 )/*<<Equivalent to `factorials( k *= i++ )` for [^i = 1, ..., 5]>>*/()()()()()
             );
 
- BOOST_ASSIGN_V2_CHECK( factorials.front() == ( 1 ) );
- BOOST_ASSIGN_V2_CHECK( factorials.back() == ( 120 ) );
+ BOOST_ASSIGN_V2_CHECK( range::equal( factorials, as2::csv_deque( 1, 2, 6, 24, 120 ) ) );
             //]
         }
 

Modified: sandbox/assign_v2/libs/assign/v2/test/value/modifier/iterate.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/modifier/iterate.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/modifier/iterate.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -18,6 +18,7 @@
 #include <boost/lambda/construct.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/mpl/apply.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <boost/type_traits/is_same.hpp>
 #include <boost/typeof/typeof.hpp>
 #include <libs/assign/v2/test/value/modifier/iterate.h>
@@ -35,7 +36,7 @@
         using namespace lambda;
         namespace as2 = assign::v2;
         {
- //[test_put_modifier_iterate_meta
+ //[test_value_modifier_iterate_meta
             typedef as2::value_aux::keyword_iterate keyword_;
             typedef as2::modifier_tag::iterate_arg arg_;
             typedef as2::value_aux::modulo_modifier<keyword_, arg_> modulo_;
@@ -50,18 +51,15 @@
             //]
         }
         {
- //[test_put_modifier_iterate_shifted
+ //[test_value_modifier_iterate_shifted
             typedef int T; array<T, 4> powers; powers[0] = 1; powers[1] = 10;
- int shift = 2; ( as2::put( powers ) % ( as2::_iterate = var( shift )++ ) )( 100 )( 1000 );
+ int index = 2; ( as2::put( powers ) % ( as2::_iterate = var( index )++ ) )( 100 )( 1000 );
 
- BOOST_ASSIGN_V2_CHECK( powers[0] == 1 );
- BOOST_ASSIGN_V2_CHECK( powers[1] == 10 );
- BOOST_ASSIGN_V2_CHECK( powers[2] == 100 );
- BOOST_ASSIGN_V2_CHECK( powers[3] == 1000 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( powers, as2::csv_deque( 1, 10, 100, 1000 ) ) );
             //]
         }
         {
- //[test_put_modifier_iterate_meta_deque
+ //[test_value_modifier_iterate_meta_deque
             typedef as2::value_aux::keyword_iterate keyword_;
             typedef as2::modifier_tag::iterate_arg arg_;
             typedef as2::value_aux::modulo_modifier<keyword_, arg_> modulo_;
@@ -75,19 +73,16 @@
             //]
         }
         {
- //[test_put_modifier_iterate_shifted_deque
+ //[test_value_modifier_iterate_shifted_deque
             as2::result_of::deque<int>::type missing_tail = as2::deque<int>( 1 )( 10 )( -1 )( -1 );
- int shift = 2;
+ int index = 2;
             
             BOOST_AUTO(
                 powers,
- ( missing_tail % ( as2::_iterate = var( shift )++ ) )( 100 )( 1000 )
+ ( missing_tail % ( as2::_iterate = var( index )++ ) )( 100 )( 1000 )
             );
 
- BOOST_ASSIGN_V2_CHECK( powers[0] == 1 );
- BOOST_ASSIGN_V2_CHECK( powers[1] == 10 );
- BOOST_ASSIGN_V2_CHECK( powers[2] == 100 );
- BOOST_ASSIGN_V2_CHECK( powers[3] == 1000 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( powers, as2::csv_deque( 1, 10, 100, 1000 ) ) );
             //]
         }
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/value/modifier/lookup.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/modifier/lookup.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/modifier/lookup.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -35,7 +35,7 @@
         using namespace lambda;
         namespace as2 = assign::v2;
         {
- //[test_put_modifier_lookup_meta
+ //[test_value_modifier_lookup_meta
             typedef BOOST_TYPEOF(_1) arg_;
             typedef as2::value_aux::keyword_lookup keyword_;
             typedef as2::value_aux::modulo_modifier<keyword_, arg_> modulo_;
@@ -50,16 +50,19 @@
             //]
         }
         {
- //[test_put_modifier_lookup_map
- typedef std::map<std::string, int> C; C year; ( as2::put( year )( "feb", 28 )( "apr", 30 )( "jun", 30 )( "sep", 30 )( "nov", 30 )
- % ( as2::_fun = _1 ) % ( as2::_lookup = ( _1 = 31 ) ) )/*<<Calls `year["jan"] = 31` etc.>>*/( "jan" )( "mar" )( "may" )( "jul" )( "aug" )( "oct" )( "dec" );
+ //[test_value_modifier_lookup_map
+ typedef std::string str_; typedef std::map<str_, int> C; C year;
+ (
+ as2::put( year )( "feb", 28 )( "apr", 30 )( "jun", 30 )( "sep", 30 )( "nov", 30 )
+ % ( as2::_fun = _1 ) % ( as2::_lookup = ( _1 = 31 ) )
+ )/*<<Calls `year["jan"] = 31` etc.>>*/( "jan" )( "mar" )( "may" )( "jul" )( "aug" )( "oct" )( "dec" );
             
             BOOST_ASSIGN_V2_CHECK( year["jan"] == 31 );
             BOOST_ASSIGN_V2_CHECK( year["dec"] == 31 );
             //]
         }
         {
- //[test_put_modifier_lookup_meta_deque
+ //[test_value_modifier_lookup_meta_deque
             typedef BOOST_TYPEOF(_1) arg_;
             typedef as2::value_aux::keyword_lookup keyword_;
             typedef as2::value_aux::modulo_modifier<keyword_, arg_> modulo_;
@@ -73,7 +76,7 @@
             //]
         }
         {
- //[test_put_modifier_lookup_map_deque
+ //[test_value_modifier_lookup_map_deque
             BOOST_AUTO(
                 days_in_first_quater,
                 (

Modified: sandbox/assign_v2/libs/assign/v2/test/value/modifier/repeat.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/modifier/repeat.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/modifier/repeat.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -10,11 +10,11 @@
 #include <vector>
 #include <boost/typeof/typeof.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
-
 #include <boost/assign/v2/value/modifier/push_front.hpp>
 #include <boost/assign/v2/value/modifier/repeat.hpp>
 #include <boost/assign/v2/value/put.hpp>
 #include <boost/assign/v2/value/deque.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <libs/assign/v2/test/value/modifier/repeat.h>
 
 namespace test_assign_v2{
@@ -27,26 +27,23 @@
         using namespace boost;
         namespace as2 = assign::v2;
         {
- //[test_put_modifier_repeat_simple
+ //[test_value_modifier_repeat_simple
             std::vector<int> cont;
             ( as2::put( cont ) % ( as2::_repeat = 2 ) )( 72 )( 31 )( 48 );
 
- BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
- BOOST_ASSIGN_V2_CHECK( cont.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 48 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( cont, as2::csv_deque( 72, 72, 31, 31, 48, 48 ) ) );
             //]
         }
         {
- //[test_put_modifier_repeat_compose
+ //[test_value_modifier_repeat_compose
             BOOST_AUTO(
                 cont, (
                     as2::deque<int>( as2::_nil ) % as2::_push_front % ( as2::_repeat = 2 )
                 )( 72 )( 31 )( 48 )
             );
- BOOST_ASSIGN_V2_CHECK( boost::size( cont ) == 6 );
+
+ BOOST_ASSIGN_V2_CHECK( range::equal( cont, as2::csv_deque( 48, 48, 31, 31, 72, 72 ) ) );
             //]
- BOOST_ASSIGN_V2_CHECK( cont.front() == 48 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 72 );
         }
     }
 

Modified: sandbox/assign_v2/libs/assign/v2/test/value/modifier/standard.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/modifier/standard.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/modifier/standard.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -18,6 +18,7 @@
 #include <boost/assign/v2/value/deque.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <boost/range/algorithm/lower_bound.hpp>
 #include <boost/range/algorithm/upper_bound.hpp>
 #include <boost/lambda/lambda.hpp>
@@ -45,7 +46,7 @@
 
         // PUT
         {
- //[test_put_modifier_standard_meta
+ //[test_value_modifier_standard_meta
             typedef as2::result_of::put<std::vector<int> >::type put_;
             typedef as2::value_aux::keyword_standard_modifier keyword_;
             typedef as2::modifier_tag::push_front tag_;
@@ -57,7 +58,7 @@
             //]
         }
         {
- //[test_put_modifier_push_front
+ //[test_value_modifier_push_front
             std::deque<double> sqrt2;
             ( as2::put( sqrt2 ) % as2::_push_front )( 1.41421 )( 1.4142 )( 1.414 )( 1.41 );
 
@@ -67,7 +68,7 @@
             //]
         }
         {
- //[test_put_modifier_push
+ //[test_value_modifier_push
             std::queue<int> fifo; ( as2::put( fifo ) % as2::_push )( 72 )( 31 )( 48 );
 
             BOOST_ASSIGN_V2_CHECK( fifo.front() == 72 );
@@ -75,7 +76,7 @@
             //]
         }
         {
- //[test_put_modifier_insert
+ //[test_value_modifier_insert
             std::set<std::string> letters; ( as2::put( letters ) % as2::_insert )( "d" )( "a" )( "c" )( "b" );
 
             BOOST_ASSIGN_V2_CHECK( letters.lower_bound( "a" ) == boost::begin( letters ) );
@@ -83,17 +84,16 @@
             //]
         }
         {
- //[test_put_modifier_push_back
- typedef int int_; std::list<int> list;
+ //[test_value_modifier_push_back
+ std::list<int> list;
             ( as2::put( list ) % as2::_push_back )( 72 )( 31 )( 48 );
 
- BOOST_ASSIGN_V2_CHECK( list.front() == 72 );
- BOOST_ASSIGN_V2_CHECK( list.back() == 48 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( list, as2::csv_deque( 72, 31, 48 ) ) );
             //]
         }
         // DEQUE
         {
- //[test_put_modifier_meta_deque
+ //[test_value_modifier_meta_deque
             typedef as2::result_of::deque<int>::type put_;
             typedef as2::value_aux::keyword_standard_modifier keyword_;
             typedef as2::modifier_tag::push_front tag_;
@@ -106,14 +106,13 @@
             //]
         }
         {
- //[test_put_modifier_push_front_deque
+ //[test_value_modifier_push_front_deque
             BOOST_AUTO(
                 powers,
                 ( as2::deque<int>( as2::_nil ) % as2::_push_front )( 16 )( 8 )( 4 )( 2 )( 1 )
             );
 
- BOOST_ASSIGN_V2_CHECK( powers[0] == 1 );
- BOOST_ASSIGN_V2_CHECK( powers[4] == 16 );
+ BOOST_ASSIGN_V2_CHECK( range::equal( powers, as2::csv_deque( 1, 2, 4, 8, 16 ) ) );
             //]
         }
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/fun.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -37,6 +37,7 @@
         {
             //[csv_pipe_modulo_fun_math
             int i = 0, k = 1; std::list<int> factorials;
+
             BOOST_ASSIGN_V2_CHECK(
                 range::equal(
                     factorials | (

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/iterate.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/iterate.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/iterate.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -14,6 +14,7 @@
 #include <boost/assign/v2/value/deque/csv_deque.hpp>
 #include <boost/array.hpp>
 #include <boost/lambda/lambda.hpp>
+#include <boost/range/algorithm/equal.hpp>
 #include <libs/assign/v2/test/value/pipe/modifier/iterate.h>
 
 namespace test_assign_v2{

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/lookup.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/lookup.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/lookup.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -12,7 +12,6 @@
 #include <boost/lambda/lambda.hpp>
 #include <boost/typeof/typeof.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
-
 #include <boost/assign/v2/value/fun.hpp>
 #include <boost/assign/v2/value/modifier/lookup.hpp>
 #include <boost/assign/v2/value/pipe/put.hpp>

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/repeat.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/repeat.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/repeat.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -9,7 +9,6 @@
 //////////////////////////////////////////////////////////////////////////////
 #include <vector>
 #include <boost/assign/v2/detail/config/check.hpp>
-
 #include <boost/assign/v2/value/modifier/repeat.hpp>
 #include <boost/assign/v2/value/pipe/put.hpp>
 #include <boost/assign/v2/value/deque.hpp>

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/standard.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/standard.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/modifier/standard.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -16,7 +16,6 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/iterator.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
-
 #include <boost/assign/v2/value/modifier/standard.hpp>
 #include <boost/assign/v2/value/pipe/csv_put.hpp>
 #include <boost/assign/v2/value/pipe/put.hpp>
@@ -41,7 +40,7 @@
         // ------------------------------------------------------------------- //
 
         {
- //[test_put_pipe_modifier_push_front
+ //[test_value_pipe_modifier_push_front
             std::deque<int> powers; int front = (
                 powers | ( as2::_csv_put % as2::_push_front )( 16, 8, 4, 2, 1 )
             ).front();
@@ -51,7 +50,7 @@
             //]
         }
         {
- //[test_put_pipe_modifier_push
+ //[test_value_pipe_modifier_push
             typedef int int_; std::queue<int_> fifo; int_ front = (
                 fifo | ( as2::_put % as2::_push )( 72 )( 31 )( 48 )
             ).front();
@@ -61,7 +60,7 @@
             //]
         }
         {
- //[test_put_pipe_modifier_insert
+ //[test_value_pipe_modifier_insert
             typedef std::set<double> doubles_; doubles_ sqrt2;
             range_iterator<doubles_>::type lower = (
                 sqrt2 | ( as2::_put % as2::_insert )( 1.414 )( 1.41421 )( 1.41 )( 1.4142 )

Modified: sandbox/assign_v2/libs/assign/v2/test/value/pipe/put.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/pipe/put.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/pipe/put.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -30,12 +30,12 @@
         using namespace boost;
         namespace as2 = assign::v2;
         {
- //[test_put_pipe_put_str_literal
+ //[test_value_pipe_put_str_literal
             typedef const char* T; typedef std::string str_; std::deque<T> cont;
             BOOST_ASSIGN_V2_CHECK(
                 boost::range::equal(
                     cont | /*<<`"x"`, `"y"` and `"z"` are kept as `const char(&)[2]`>>*/as2::_csv_put( "x", "y", "z" ),
- as2::csv_deque( "x" )( "y" )( "z" )
+ as2::csv_deque( "x", "y", "z" )
                 )
             );
             BOOST_ASSIGN_V2_CHECK( str_( cont[1] ) == "y" );
@@ -43,7 +43,7 @@
             //]
         }
         {
- //[test_put_pipe_put_intervals
+ //[test_value_pipe_put_intervals
             boost::array<int, 2> interval; boost::array<int, 6> all6;
             BOOST_ASSIGN_V2_CHECK(
                 boost::range::equal(

Modified: sandbox/assign_v2/libs/assign/v2/test/value/ptr.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/ptr.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/ptr.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -28,7 +28,7 @@
         namespace as2 = boost::assign::v2;
 
         {
- //[test_put_ptr_array
+ //[test_value_ptr_array
             typedef int T;
             T x = 1, y = 2, z = 3; boost::ptr_array<T, 3> cont;
             as2::put( cont )( x )( y )( z );
@@ -38,7 +38,7 @@
             //]
         }
         {
- //[test_put_ptr_deque
+ //[test_value_ptr_deque
             typedef int T; T x = 1, y = 2, z = 0; boost::ptr_deque<T> cont;
             as2::put( cont )( x )( y )( z );
 
@@ -47,7 +47,7 @@
             //]
         }
         {
- //[test_put_ptr_list
+ //[test_value_ptr_list
             typedef int T; T x = 1, y = 2, z = 0; boost::ptr_list<T> cont;
             as2::put( cont )( x )( y )( z );
 
@@ -56,7 +56,7 @@
             //]
         }
         {
- //[test_put_ptr_vector
+ //[test_value_ptr_vector
             typedef int T; T x = 1, y = 2, z = 0; boost::ptr_vector<T> cont;
             as2::put( cont )( x )( y )( z );
 

Modified: sandbox/assign_v2/libs/assign/v2/test/value/put.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/value/put.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/value/put.cpp 2011-03-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -42,7 +42,7 @@
         namespace as2 = assign::v2;
 
         {
- //[test_put_put_bitset
+ //[test_value_put_bitset
             typedef std::string str_; typedef std::bitset<3> data_; /*<<Keep in mind that although `data_( str_( "011" ) )`, for instance, is valid, `consecutive.push_back( str_( "011" ) )` isn't (GCC4.2)>>*/ std::vector<data_> consecutive;
             /*<<Calls `consecutive.push_back( data_( t ) );` for [^t = ]`str_( "000" )`[^, ..., ]`str_( "111" )`>>*/as2::put( consecutive )
                 ( str_( "000" ) )( str_( "001" ) )
@@ -58,7 +58,7 @@
             // unsigned i else warning comparison between signed & unsigned
         }
         {
- //[test_put_put_numeric_kb
+ //[test_value_put_numeric_kb
             std::vector<int> numeric( 10 ); iota( numeric, 0 ); typedef std::string str_;
             typedef variant< int, str_ > data_; array<data_, 16> numeric_kb;
             as2::put( numeric_kb )
@@ -74,7 +74,7 @@
             BOOST_ASSIGN_V2_CHECK( get<int>( numeric_kb.back() ) == 9 );
         }
         {
- //[test_put_put_ragged
+ //[test_value_put_ragged
             typedef double data_; typedef std::vector<data_> variable_size_;
             variable_size_ a( 3 ); a[0] = 0.71; a[1] = 0.63; a[2] = 0.85;
             variable_size_ b( 4 ); b[0] = 0.61; b[1] = 0.69; b[2] = 0.92; b[3] = 0.55;
@@ -101,7 +101,7 @@
             BOOST_ASSIGN_V2_CHECK( fabs( ragged[2].back() + 99.99 ) < eps );
         }
         {
- //[test_put_put_stl
+ //[test_value_put_stl
             std::queue<int> adapter; /*<<Calls `adapter.push( t )` for [^t = 72, 31, 48]>>*/as2::put( adapter )( 72 )( 31 )( 48 );
             array<int, 3> array; /*<<Calls `array[i] = t` for [^( i, t ) = ( 0, 72 ), ( 1, 31 ), ( 2, 48 )]>>*/as2::put( array )( 72 )( 31 )( 48 );
             std::set<int> assoc; /*<<Calls `assoc.insert( t )` for [^t = 72, 31, 48]>>*/as2::put( assoc )( 72 )( 31 )( 48 );
@@ -118,7 +118,7 @@
         }
         {
             // http://bioinfo.mbb.yale.edu/~mbg/dom/fun3/area-codes/
- //[test_put_put_area_codes
+ //[test_value_put_area_codes
             typedef const char us_state_ [3]; us_state_ ct = "CT", nj = "NJ", ny = "NY";
             typedef int area_code_; typedef tuple<us_state_/*<<Notice the [*reference]>>*/&, area_code_> data_; std::deque< data_ > tri_state_area;
             /*<<Calls `tri_state.push_back( data_( s, c ) )` for [^( s, c ) =( ny, 212 )...( ct, 203 )]>>*/

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-18 18:01:24 EDT (Fri, 18 Mar 2011)
@@ -48,6 +48,7 @@
             typedef std::string T; ptr_set<T> assoc;
             T x = "isomer", y = "ephemeral", z = "prosaic";
             csv( put( assoc ), x, z, y );
+
             assert( assoc.count( x ) == 1 );
             assert( assoc.count( z ) == 1 );
             //]
@@ -55,7 +56,8 @@
         {
             //[tutorial_piping
             using namespace lambda;
- std::deque<int> cont; range::stable_partition( cont | _csv_put( 0, 1, 2, 3, 4, 5 ), _1 % 2 );
+ std::deque<int> cont;
+ range::stable_partition( cont | _csv_put( 0, 1, 2, 3, 4, 5 ), _1 % 2 );
             //]
             //[tutorial_container_generation
             assert( range::equal( cont, csv_deque(1, 3, 5, 0, 2, 4) ) );
@@ -65,6 +67,7 @@
             //[tutorial_ref_array
             int x = 4, y = 6, z = -1;
             int const& max = *max_element( ref::csv_array( x, y, z ) );
+
             assert( &max == &y );
             //]
         }
@@ -76,30 +79,36 @@
                 consecutive8,
                 begin( consecutive5 | _chain( ref::csv_array( six, seven, eight ) | ref::_get ) )
             );
- assert(consecutive5[0] == 1); assert(consecutive5[4] == 5);
- assert( six == 6 ); assert( eight == 8 );
+
+ assert( range::equal( consecutive5, csv_deque(1, 2, 3, 4, 5) ) );
+ assert( six == 6 ); assert( seven == 7 ); assert( eight == 8 );
             //]
         }
         {
             //[tutorial_conversion
             std::queue<int> fifo = converter( csv_deque( 72, 31, 48 ) );
- assert( fifo.front() == 72 );
+
+ assert( fifo.front() == 72 ); assert( fifo.back() == 48 );
             //]
         }
         {
             //[tutorial_arg_forwarding
- std::map<std::string, int> map; put( map )( "foo", 1 )( "bar", 2 )( "baz", 3 );
- assert( map["bar"] == 2 );
+ std::map<std::string, int> map;
+ put( map )( "foo", 1 )( "bar", 2 )( "baz", 3 );
+
+ assert( map["bar"] = 2 );
             //]
         }
         {
             //[tutorial_parametrization
             using namespace lambda;
             typedef int T; array<T, 4> powers = converter( csv_deque( 1, 10, -1, -1 ) );
- std::size_t shift = 2; ( put( powers ) % ( _iterate = var( shift )++ ) )( 100 )( 1000 );
+ std::size_t index = 2; ( put( powers ) % ( _iterate = var( index )++ ) )( 100 )( 1000 );
 
- int value = 1;
- for(shift = 0; shift < powers.size(); shift++){ assert( powers[shift] == value ); value *=10; }
+ for(int value = 1, index = 0; index < powers.size(); index++, value *=10 )
+ {
+ assert( powers[index] == value );
+ }
             //]
         }
     }


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