|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69414 - in sandbox/assign_v2/libs/assign/v2: src test test/put test/put/container test/put/deque test/put/pipe test/put/pipe/functor test/ref test/ref/array test/utility
From: erwann.rogard_at_[hidden]
Date: 2011-02-28 19:28:24
Author: e_r
Date: 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
New Revision: 69414
URL: http://svn.boost.org/trac/boost/changeset/69414
Log:
upd assign_v2
Text files modified:
sandbox/assign_v2/libs/assign/v2/src/main.cpp | 38 ++++++++-------
sandbox/assign_v2/libs/assign/v2/test/other.cpp | 97 ++++++++-------------------------------
sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp | 64 +++++++------------------
sandbox/assign_v2/libs/assign/v2/test/put/container/range.cpp | 15 +++--
sandbox/assign_v2/libs/assign/v2/test/put/deque/functor.cpp | 4
sandbox/assign_v2/libs/assign/v2/test/put/deque/modulo.cpp | 4
sandbox/assign_v2/libs/assign/v2/test/put/deque/std.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp | 6 +-
sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp | 4
sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/container.cpp | 76 +++++++++++++++++++++---------
sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp | 17 ++++++
sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/rhs.cpp | 77 +++++++++++--------------------
sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp | 14 ++++
sandbox/assign_v2/libs/assign/v2/test/put/pipe/range.cpp | 18 +++---
sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp | 12 ++--
sandbox/assign_v2/libs/assign/v2/test/put/std.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/ref/array/csv.cpp | 18 ++----
sandbox/assign_v2/libs/assign/v2/test/ref/array/functor.cpp | 13 +---
sandbox/assign_v2/libs/assign/v2/test/ref/list_tuple.cpp | 6 ++
sandbox/assign_v2/libs/assign/v2/test/utility/chain.cpp | 10 ++--
sandbox/assign_v2/libs/assign/v2/test/utility/convert.cpp | 3 -
21 files changed, 222 insertions(+), 278 deletions(-)
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-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -1,36 +1,38 @@
// Test
-/*
#include <libs/assign/v2/test/detail.h>
#include <libs/assign/v2/test/ref.h>
#include <libs/assign/v2/test/put.h>
#include <libs/assign/v2/test/utility.h>
#include <libs/assign/v2/test/other.h>
-*/
+
// Speed
//#include <fstream>
//#include <libs/assign/v2/speed/put_ref.h>
+#include <boost/assign/v2/put/pipe.hpp>
+
int main (int argc, char * const argv[])
{
-
+
// Do not put libs/assign/v2/test/unit_testing in this project
{
- //using namespace test_assign_v2;
- //xxx_detail::test();
- //xxx_put::test();
- //xxx_ref::test();
- //xxx_utility::test();
- //xxx_other::test();
+ using namespace test_assign_v2;
+ xxx_detail::test();
+ xxx_put::test();
+ xxx_ref::test();
+ xxx_utility::test();
+ xxx_other::test();
}
-/*
- {
- using namespace speed_assign_v2;
- std::ofstream ofs("results");
- xxx_put_ref::run(ofs);
- }
-*/
-
+
+ /*
+ {
+ using namespace speed_assign_v2;
+ std::ofstream ofs("results");
+ xxx_put_ref::run(ofs);
+ }
+ */
+
return 0;
-
+
}
Modified: sandbox/assign_v2/libs/assign/v2/test/other.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/other.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/other.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -12,6 +12,8 @@
#include <list>
#include <map>
#include <vector>
+#include <boost/mpl/assert.hpp>
+#include <boost/type_traits/is_same.hpp>
#include <boost/array.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/next_prior.hpp>
@@ -20,15 +22,19 @@
#include <boost/range/algorithm/stable_partition.hpp>
#include <boost/range/algorithm/equal.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/detail/check/equal_ref.hpp>
+#include <boost/assign/v2/detail/check/equal_val.hpp>
#include <boost/assign/v2/utility/chain.hpp>
-#include <boost/assign/v2/ref/wrapper/adaptor_get.hpp>
+#include <boost/assign/v2/utility/chain/alias.hpp>
+#include <boost/assign/v2/ref/wrapper/range_get.hpp>
#include <boost/assign/v2/ref/array/csv.hpp>
#include <boost/assign/v2/ref/array/functor.hpp>
#include <boost/assign/v2/ref/array/functor/converter.hpp>
#include <boost/assign/v2/put/container.hpp>
#include <boost/assign/v2/put/deque/csv.hpp>
-#include <boost/assign/v2/put/pipe/functor.hpp>
#include <boost/assign/v2/put/container/functor.hpp>
+#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/put/pipe/csv.hpp>
#include <boost/assign/v2/put/std.hpp>
#include <boost/assign/v2/put/ext.hpp>
#include <boost/assign/v2/utility/csv.hpp>
@@ -44,18 +50,20 @@
namespace as2 = boost::assign::v2;
namespace lambda = boost::lambda;
+
// INTRODUCTION
{
// suggested by JB:
- //[csv_put_pipe
+
+ //[other_put_pipe_csv
std::deque<int> cont;
boost::range::stable_partition(
/*<< Calls `cont.push_back( t )` for [^t=0,...,5], and returns `cont` >>*/
- cont | as2::csv( as2::_put, 0, 1, 2, 3, 4, 5),
+ cont | as2::_csv_put( 0, 1, 2, 3, 4, 5 ),
lambda::_1 % 2
);
//]
- //[csv_array
+ //[other_ref_csv_array
BOOST_ASSIGN_V2_CHECK(boost::range::equal(
cont,
/*<< The input [^1, 3, ..., 4] is held by reference (not copies) >>*/
@@ -65,7 +73,7 @@
}
// REF + CONVERTER
{
- //[array_converter
+ //[other_convert_ref_array
typedef std::pair<std::string, int> T;
typedef std::vector<T> cont_;
cont_ cont = converter( // name lookup
@@ -81,16 +89,14 @@
}
// CHAIN + REF
{
- //[chain_w
+ //[other_chain_write
+ /*<< Needed to bring && into scope >>*/ using namespace boost::assign::v2;
std::vector<int> r( 3 ); r[0] = 1; r[1] = 2; r[2] = 0;
- boost::array<int, 2> cont; int z; // lvalues
+ /*<< lvalue >>*/boost::array<int, 2> cont; /*<< lvalue >>*/ int z;
boost::copy(
r,
boost::begin(
- cont | as2::_chain(
- as2::ref::csv_array( z ) // rvalue!
- | as2::ref::_get
- )
+ cont && (/*<< rvalue >>*/ as2::ref::csv_array( z ) | as2::ref::_get )
)
);
BOOST_ASSIGN_V2_CHECK( cont[0] == r[0] );
@@ -101,7 +107,7 @@
// PUT + CSV
// container.hpp
{
- //[csv_put_default
+ //[other_csv_put
typedef int T; T x = 1, y = 2, z = 0;
std::list<T> cont;
as2::csv( as2::put( cont ) , x, y, z );
@@ -112,23 +118,11 @@
}
// modulo.hpp
{
- //[csv_put_fun
- typedef int T; T x = 1, y = 2, z = 0;
- std::vector<int> cont;
- cont | as2::csv(
- as2::_put % ( as2::_fun = ( lambda::_1 + 1 ) ),
- x, y, z
- );
- BOOST_ASSIGN_V2_CHECK( cont.front() == ( x + 1 ) );
- BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );
- //]
- }
- {
- //[csv_put_id
+ //[other_put_modulo
typedef int T; T x = 1, y = 2, z = 0;
std::list<T> cont;
as2::csv(
- as2::put( cont ) % ( as2::_fun = as2::_identity ),
+ /*<< Might be more efficient than as2::put( cont ) >>*/as2::put( cont ) % ( as2::_fun = as2::_identity ),
x, y, z
);
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
@@ -136,55 +130,6 @@
//]
BOOST_ASSIGN_V2_CHECK( *boost::next( boost::begin( cont ) ) == y );
}
- // std.hpp
- {
- //[csv_put_push_front
- typedef int T; T x = 1, y = 2, z = 0;
- std::deque<int> cont;
- cont | as2::csv( as2::_put % as2::_push_front, x, y ,z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == z );
- BOOST_ASSIGN_V2_CHECK( cont.back() == x );
- //]
- }
- // ext.hpp
- {
- //[csv_put_lookup
- std::map<std::string, int> cont;
- cont["jan"] = 29; cont["feb"] = 26; cont["mar"] = 29;
- cont |
- as2::csv(
- as2::_put % ( as2::_lookup = ( lambda::_1 +=2 ) )
- , "jan", "feb", "mar"
- );
- BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
- //]
- BOOST_ASSIGN_V2_CHECK( cont["jan"] == 31 );
- BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
- }
- {
- //[csv_put_repeat
- typedef int T; std::deque<T> cont; T x = 1, y = 2, z = 0;
- cont | as2::csv( as2::_put % ( as2::_repeat = 2 ), x, y, z );
- BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
- //]
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[1] == x );
- BOOST_ASSIGN_V2_CHECK( cont[2] == y );
- BOOST_ASSIGN_V2_CHECK( cont[3] == y );
- BOOST_ASSIGN_V2_CHECK( cont[4] == z );
- BOOST_ASSIGN_V2_CHECK( cont[5] == z );
- }
- {
- //[csv_put_iterate
- typedef int T; T x = 1, y = 2, z = 0;
- boost::array<T, 3> cont; cont[0] = x;
- cont | as2::csv( as2::_put % ( as2::_iterate = 1 ) , y, z );
- BOOST_ASSIGN_V2_CHECK( cont[1] == y );
- //]
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[2] == z );
- }
-
}
}// xxx_other
Modified: sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -30,7 +30,7 @@
void test(){
namespace as2 = boost::assign::v2;
{
- //[array
+ //[put_cont_functor_array
typedef int T; T x = 1, y = 2, z = 3;
boost::array<T, 3> cont; as2::put( cont )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( cont[0] == x );
@@ -40,7 +40,7 @@
{
// std::string may be replaced by const char* using a custom
// comparator
- //[map
+ //[put_cont_functor_map
typedef std::map<std::string, int> C; C cont;
as2::put( cont )( "jan", 31 )( "feb", 28 )( "mar", 31 );
BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
@@ -50,7 +50,7 @@
}
{
// Used in intro (same as above but different naming)
- //[cal
+ //[put_cont_functor_cal
typedef std::map<std::string, int> C; C cal;
/*<< Calls `cal.insert( C::value_type(x, y) )` for [^(x,y)=( "jan", 31 ),( "feb", 28 ),( "mar", 31 )] >>*/
as2::put( cal )( "jan", 31 )( "feb", 28 )( "mar", 31 );
@@ -58,7 +58,7 @@
//]
}
{
- //[set
+ //[put_cont_functor_set
typedef std::string T;
std::set<T> cont;
T x = "isomer", y = "ephemeral", z = "prosaic";
@@ -68,7 +68,7 @@
//]
}
{
- //[deque
+ //[put_cont_functor_deque
typedef int T; T x = 1, y = 2, z = 0;
std::deque<T> cont; as2::put( cont )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
@@ -76,7 +76,7 @@
//]
}
{
- //[list
+ //[put_cont_functor_list
typedef int T; T x = 1, y = 2, z = 0;
std::list<T> cont; ( as2::put( cont ) )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
@@ -84,7 +84,7 @@
//]
}
{
- //[vector
+ //[put_cont_functor_vector
typedef int T; T x = 1, y = 2, z = 0;
std::vector<T> cont; as2::put( cont )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
@@ -92,7 +92,7 @@
//]
}
{
- //[queue
+ //[put_cont_functor_queue
typedef int T; T x = 8, y = 7, z = 4;
std::queue<T> fifo; as2::put( fifo )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( fifo.front() == x );
@@ -100,7 +100,7 @@
//]
}
{
- //[stack
+ //[put_cont_functor_stack
typedef int T; T x = 8, y = 7, z = 4;
std::stack<T> lifo; as2::put( lifo )( x )( y )( z );
BOOST_ASSIGN_V2_CHECK( lifo.top() == z ); lifo.pop();
@@ -110,42 +110,16 @@
}
{
using namespace boost;
- //[tuple
- typedef int& ref_; typedef std::string val_;
- typedef boost::tuple<ref_, val_> T;
- int x = 31, y = 28, z = 31; std::vector<T> cont;
- as2::put( cont )( x, "jan" )( y, "feb" )( z, "mar" );
- BOOST_ASSIGN_V2_CHECK( &get<0>( cont[1] ) == &y );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[1] ) == "feb" );
- //]
- BOOST_ASSIGN_V2_CHECK( &get<0>( cont[0] ) == &x );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[0] ) == "jan" );
- BOOST_ASSIGN_V2_CHECK( &get<0>( cont[2] ) == &z );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[2] ) == "mar" );
- }
- {
- //[default_constr1
- typedef int T; T x = 1, z = 0;
- std::vector<T> cont; as2::put( cont )( x )()( z );
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[1] == T() );
- BOOST_ASSIGN_V2_CHECK( cont[2] == z );
- //]
- }
- {
- using namespace boost;
- //[default_constr2
- typedef std::string a_; typedef int b_;
- typedef boost::tuple<a_, b_> T;
- a_ a0 = "jan", a1 = "feb", a2 = "mar";
- b_ b0 = 31; //, b1 = 28, b2 = 31;
- std::vector<T> cont; as2::put( cont )( a0, b0 )()( a2 );
- BOOST_ASSIGN_V2_CHECK( get<0>( cont[0] ) == a0 );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[0] ) == b0 );
- BOOST_ASSIGN_V2_CHECK( get<0>( cont[1] ) == get<0>( T() ) );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[1] ) == get<1>( T() ) );
- BOOST_ASSIGN_V2_CHECK( get<0>( cont[2] ) == a2 );
- BOOST_ASSIGN_V2_CHECK( get<1>( cont[2] ) == b_() );
+ //[put_cont_functor_tuple
+ typedef int i_; typedef double d_;
+ typedef boost::tuple</*<< Notice this is a reference >>*/ d_&, i_> T;
+ d_ w = 2.7, x = 2.71, y = 2.718, z = 0.0; std::vector<T> cont;
+ as2::put( cont )/*<< Notice the binary calls >>*/( w, 1 )( x, 2 )( y, 3 )/*<< Notice the unary call >>*/( z );
+ BOOST_ASSIGN_V2_CHECK( &get<0>( cont[1] ) == &x );
+ BOOST_ASSIGN_V2_CHECK( get<1>( cont[1] ) == 2 );
+ T t3( z );
+ BOOST_ASSIGN_V2_CHECK( &get<0>( cont[3] ) == &z );
+ BOOST_ASSIGN_V2_CHECK( get<1>( cont[3] ) == get<1>( t3 ) );
//]
}
}// test()
Modified: sandbox/assign_v2/libs/assign/v2/test/put/container/range.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container/range.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container/range.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -25,26 +25,29 @@
namespace as2 = boost::assign::v2;
//[range_var
- typedef int T; T x = 1, y = 2, z = 0;
- std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
//]
// Forwards to put()
{
- //[range_array
+ //[put_cont_range_array
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
boost::array<T, 3> cont; as2::put_range( cont, r );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
//]
}
{
- //[range_stack
+ //[put_cont_range_stack
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
typedef std::stack<T> lifo_;
BOOST_ASSIGN_V2_CHECK( as2::put_range<lifo_>( r ).top() == z );
//]
}
- // Calls C(b, e)
{
- //[range_deque
+ //[put_cont_range_deque
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
std::deque<T> cont; as2::put_range( cont, r );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
Modified: sandbox/assign_v2/libs/assign/v2/test/put/deque/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/deque/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/deque/functor.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -22,9 +22,9 @@
{
namespace as2 = boost::assign::v2;
{
- //[deque
+ //[put_deque_functor
typedef int T; T x = 1, z = 0;
- as2::result_of::deque<T>::type cont = as2::deque<T>( x )()( z );
+ as2::result_of::deque<T>::type cont = as2::deque<T>/*<<k = 1, 0, 1, respectively>>*/( x )()( z );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
BOOST_ASSIGN_V2_CHECK( cont[1] == T() );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
Modified: sandbox/assign_v2/libs/assign/v2/test/put/deque/modulo.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/deque/modulo.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/deque/modulo.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -29,7 +29,7 @@
namespace as2 = boost::assign::v2;
{
- //[deque_front
+ //[put_deque_modulo_front
BOOST_AUTO(
cont, (
as2::deque<int>( as2::_nil ) % as2::_push_front
@@ -41,7 +41,7 @@
BOOST_ASSIGN_V2_CHECK( boost::size( cont ) == 3 );
}
{
- //[deque_repeat
+ //[put_deque_modulo_repeat
BOOST_AUTO(
cont, (
as2::deque<int>( as2::_nil ) % ( as2::_repeat = 2 )
Modified: sandbox/assign_v2/libs/assign/v2/test/put/deque/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/deque/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/deque/std.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -23,7 +23,7 @@
namespace as2 = boost::assign::v2;
{
typedef int T; T x = 1, y = 2, z = 0;
- //[deque_front
+ //[put_deque_std_front
BOOST_AUTO(
cont,
(
Modified: sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -26,7 +26,7 @@
namespace as2 = boost::assign::v2;
namespace lambda = boost::lambda;
{
- //[iterate
+ //[put_ext_iterate
boost::array<int, 3> cont;
( as2::put( cont ) % as2::_iterate )( 1 )( 2 )( 3 );
BOOST_ASSIGN_V2_CHECK( cont[0] == 1 );
@@ -34,7 +34,7 @@
//]
}
{
- //[lookup
+ //[put_ext_lookup
std::map<std::string, int> cont;
cont["jan"] = 31; cont["feb"] = 29; cont["mar"] = 32;
(
@@ -45,7 +45,7 @@
//]
}
{
- //[repeat
+ //[put_ext_repeat
std::vector<int> cont;
( as2::put( cont ) % ( as2::_repeat = 2 ) )( -1 )( 0 )( 1 );
BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
Modified: sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -25,7 +25,7 @@
namespace as2 = boost::assign::v2;
namespace lambda = boost::lambda;
{
- //[modulo_fun
+ //[put_modulo_fun
typedef int T; T x = 1, y = 2, z = 0;
std::vector<int> cont;
(
@@ -36,7 +36,7 @@
//]
}
{
- //[modulo_push_front
+ //[put_modulo_modifier
typedef int T; T x = 1, y = 2, z = 0;
std::deque<int> cont;
( as2::put( cont ) % ( as2::_modifier
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/container.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/container.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/container.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -18,6 +18,7 @@
#include <string>
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/put/pipe/csv.hpp> // Until workaround
#include <libs/assign/v2/test/put/pipe/functor/container.h>
@@ -30,74 +31,101 @@
void test(){
namespace as2 = boost::assign::v2;
{
- //[pipe_array
+ //[put_pipe_functor_array
typedef int T;
T x = 1, y = 2, z = 3;
boost::array<T, 3> cont;
- cont | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
+ BOOST_ASSIGN_V2_CHECK(
+ ( cont | as2::_put( x )( y )( z ) )[0] == x
+ );
BOOST_ASSIGN_V2_CHECK( cont[2] == z );
//]
}
{
- //[pipe_map
+ //[put_pipe_csv_array
+ typedef int T;
+ T x = 1, y = 2, z = 3;
+ boost::array<T, 3> cont;
+ BOOST_ASSIGN_V2_CHECK(
+ ( cont | as2::_csv_put( x, y, z ) )[0] == x
+ );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == z );
+ //]
+ }
+ {
+ //[put_pipe_functor_map
std::map<std::string, int> assoc;
- assoc | as2::_put( "jan", 31 )( "feb", 28 )( "mar", 31 );
- BOOST_ASSIGN_V2_CHECK( assoc["feb"] == 28 );
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ assoc | as2::_put( "jan", 31 )( "feb", 28 )( "mar", 31 )
+ )["feb"] == 28
+ );
//]
}
{
- //[pipe_set
+ //[put_pipe_functor_set
typedef std::string T;
std::set<T> assoc;
T x = "isomer", y = "ephemeral", z = "prosaic";
- assoc | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( assoc.count( x ) == 1 );
+ BOOST_ASSIGN_V2_CHECK(
+ ( assoc | as2::_put( x )( y )( z ) ).count( x ) == 1
+ );
BOOST_ASSIGN_V2_CHECK( assoc.count( z ) == 1 );
//]
}
{
- //[pipe_deque
+ //[put_pipe_functor_deque
typedef int T; T x = 1, y = 2, z = 0;
std::deque<T> cont;
- cont | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK((
+ cont | as2::_put( x )( y )( z )
+ ).front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
//]
}
{
- //[pipe_list
+ //[put_pipe_functor_list
typedef int T; T x = 1, y = 2, z = 0;
std::list<T> cont;
- cont | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ cont | as2::_put( x )( y )( z )
+ ).front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
//]
}
{
- //[pipe_vector
+ //[put_pipe_functor_vector
typedef int T; T x = 1, y = 2, z = 0;
std::vector<T> cont;
- cont | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ cont | as2::_put( x )( y )( z )
+ ).front() == x
+ );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
//]
}
{
- //[pipe_queue
+ //[put_pipe_functor_queue
typedef int T; T x = 8, y = 7, z = 6;
std::queue<T> fifo;
- fifo | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( fifo.front() == x );
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ fifo | as2::_put( x )( y )( z )
+ ).front() == x
+ );
BOOST_ASSIGN_V2_CHECK( fifo.back() == z );
//]
}
{
- //[pipe_stack
+ //[put_pipe_functor_stack
typedef int T; T x = 8, y = 7, z = 4;
std::stack<T> lifo;
- lifo | as2::_put( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( lifo.top() == z ); lifo.pop();
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ lifo | as2::_put( x )( y )( z )
+ ).top() == z ); lifo.pop();
BOOST_ASSIGN_V2_CHECK( lifo.top() == y );
//]
}
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -8,10 +8,11 @@
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
#include <vector>
+#include <boost/lambda/lambda.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/modulo/fun.hpp>
#include <boost/assign/v2/put/pipe/functor.hpp>
-#include <boost/lambda/lambda.hpp>
+#include <boost/assign/v2/put/pipe/csv.hpp>
#include <libs/assign/v2/test/put/pipe/functor/fun.h>
namespace test_assign_v2{
@@ -25,7 +26,7 @@
namespace as2 = boost::assign::v2;
namespace lambda = boost::lambda;
{
- //[fun
+ //[put_pipe_functor_fun
typedef int T; T x = 1, y = 2, z = 0;
std::vector<int> cont;
cont | (
@@ -35,6 +36,18 @@
BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );
//]
}
+ {
+ //[put_pipe_csv_fun
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<int> cont;
+ BOOST_ASSIGN_V2_CHECK(
+ (
+ cont | ( as2::_csv_put % ( as2::_fun = ( lambda::_1 + 1 ) )
+ )( x, y, z ) ).front() == ( x + 1 )
+ );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );
+ //]
+ }
}
}// xxx_fun
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/rhs.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/rhs.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/rhs.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -13,7 +13,8 @@
#include <boost/assign/v2/detail/check/equal_val.hpp>
#include <boost/assign/v2/detail/check/equal_ref.hpp>
#include <boost/assign/v2/put/ext/repeat.hpp>
-#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/put/pipe/functor.hpp> // rhs?
+#include <boost/assign/v2/utility/csv.hpp>
#include <libs/assign/v2/test/put/pipe/functor/rhs.h>
namespace test_assign_v2{
@@ -22,23 +23,6 @@
namespace xxx_functor{
namespace xxx_rhs{
- template<int i, int j, typename T, typename P, typename U>
- void xxx_assert(T& rhs, P const& pred, U const& u)
- {
- // TODO name lookup?
- #if BOOST_ASSIGN_V2_ENABLE_CPP0X
- using namespace boost::assign::v2::ref; // tuple (cpp0x)
- #else
- using namespace boost; // tuple<> (cpp03)
- #endif
- pred(
- get<j>(
- rhs.seq_args().get( boost::mpl::int_<i>() )
- ),
- u
- );
- }
-
void test()
{
namespace as2 = boost::assign::v2;
@@ -50,10 +34,14 @@
int n = as2::ref::at<0>( rhs.pars() ).arg();
BOOST_ASSIGN_V2_CHECK( n == 3 );
}
+ namespace chk = as2::check_aux;
+ namespace aux_ = as2::put_pipe_aux;
+ typedef chk::equal_ref r_;
+ typedef chk::equal_val v_;
{
- /* rvalue */
- #define A -10
- #define B 10
+/* rvalue */
+#define A -10
+#define B 10
/* lvalue */
int a1 = -1, b1 = 0;
typedef const int cint_;
@@ -72,47 +60,36 @@
)
);
- namespace chk = as2::check_aux;
- typedef chk::equal_ref r_;
- typedef chk::equal_val v_;
-
- xxx_assert<0, 0>( rhs, r_(), a1);
- xxx_assert<0, 1>( rhs, r_(), b1);
- xxx_assert<1, 0>( rhs, r_(), a1); xxx_assert<1, 1>( rhs, r_(), b);
- xxx_assert<2, 0>( rhs, r_(), a1); xxx_assert<2, 1>( rhs, v_(), B);
-
- xxx_assert<3, 0>( rhs, r_(), a ); xxx_assert<3, 1>( rhs, r_(), b1);
- xxx_assert<4, 0>( rhs, r_(), a ); xxx_assert<4, 1>( rhs, r_(), b);
- xxx_assert<5, 0>( rhs, r_(), a ); xxx_assert<5, 1>( rhs, v_(), B);
-
- xxx_assert<6, 0>( rhs, v_(), A); xxx_assert<6, 1>( rhs, r_(), b1);
- xxx_assert<7, 0>( rhs, v_(), A); xxx_assert<7, 1>( rhs, r_(), b);
- xxx_assert<8, 0>( rhs, v_(), A); xxx_assert<8, 1>( rhs, v_(), B);
-
- xxx_assert<9, 0>( rhs, r_(), a1);
- xxx_assert<10, 0>( rhs, r_(), a);
- xxx_assert<11, 0>( rhs, v_(), A);
-
+ aux_::check_rhs<0, 0>( rhs, r_(), a1);
+ aux_::check_rhs<0, 1>( rhs, r_(), b1);
+ aux_::check_rhs<1, 0>( rhs, r_(), a1); aux_::check_rhs<1, 1>( rhs, r_(), b);
+ aux_::check_rhs<2, 0>( rhs, r_(), a1); aux_::check_rhs<2, 1>( rhs, v_(), B);
+
+ aux_::check_rhs<3, 0>( rhs, r_(), a ); aux_::check_rhs<3, 1>( rhs, r_(), b1);
+ aux_::check_rhs<4, 0>( rhs, r_(), a ); aux_::check_rhs<4, 1>( rhs, r_(), b);
+ aux_::check_rhs<5, 0>( rhs, r_(), a ); aux_::check_rhs<5, 1>( rhs, v_(), B);
+
+ aux_::check_rhs<6, 0>( rhs, v_(), A); aux_::check_rhs<6, 1>( rhs, r_(), b1);
+ aux_::check_rhs<7, 0>( rhs, v_(), A); aux_::check_rhs<7, 1>( rhs, r_(), b);
+ aux_::check_rhs<8, 0>( rhs, v_(), A); aux_::check_rhs<8, 1>( rhs, v_(), B);
+
+ aux_::check_rhs<9, 0>( rhs, r_(), a1);
+ aux_::check_rhs<10, 0>( rhs, r_(), a);
+ aux_::check_rhs<11, 0>( rhs, v_(), A);
#undef A
#undef B
}
{
+ // str_literal
BOOST_AUTO(rhs, as2::_put( "x" ) );
typedef boost::mpl::int_<0> int_;
typedef std::string str_;
- // TODO find a simpler way:
#if BOOST_ASSIGN_V2_ENABLE_CPP0X
using namespace boost::assign::v2::ref;
#else
using namespace boost;
#endif
- BOOST_ASSIGN_V2_CHECK(
- str_(
- get<0>(
- rhs.seq_args().get( int_() )
- )
- ) == "x"
- );
+ aux_::check_rhs<0, 0>( rhs, v_(), str_( "x" ) );
}
}
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -8,10 +8,11 @@
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
#include <deque>
+#include <boost/lambda/lambda.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/std/push_front.hpp>
#include <boost/assign/v2/put/pipe/functor.hpp>
-#include <boost/lambda/lambda.hpp>
+#include <boost/assign/v2/put/pipe/csv.hpp>
#include <libs/assign/v2/test/put/pipe/functor/std.h>
namespace test_assign_v2{
@@ -25,7 +26,7 @@
namespace as2 = boost::assign::v2;
namespace lambda = boost::lambda;
{
- //[push_front
+ //[put_pipe_functor_push_front
typedef int T; T x = 1, y = 2, z = 0;
std::deque<int> cont;
cont | ( as2::_put % as2::_push_front )( x )( y )( z );
@@ -33,6 +34,15 @@
BOOST_ASSIGN_V2_CHECK( cont.back() == x );
//]
}
+ {
+ //[put_pipe_csv_push_front
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::deque<int> cont;
+ cont | ( as2::_csv_put % as2::_push_front )( x, y, z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == z );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == x );
+ //]
+ }
}
}// xxx_std
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/range.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/range.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/range.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -25,21 +25,21 @@
{
namespace as2 = boost::assign::v2;
- //[range_var
- typedef int T; T x = 1, y = 2, z = 0;
- std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
- //]
// Forwards to put()
{
- //[range_array
+ //[put_pipe_range_array
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
boost::array<T, 3> cont; cont | as2::_put_range( r );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
//]
}
{
- //[range_stack
+ //[put_pipe_range_stack
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
typedef std::stack<T> lifo_;
BOOST_ASSIGN_V2_CHECK(
(
@@ -48,10 +48,10 @@
);
//]
}
-
- // Calls C(b, e)
{
- //[range_deque
+ //[put_pipe_range_deque
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<T> r( 3 ); r[0] = x; r[1] = y; r[2] = z;
std::deque<T> cont; cont | as2::_put_range( r );
BOOST_ASSIGN_V2_CHECK( cont.front() == x );
BOOST_ASSIGN_V2_CHECK( cont.back() == z );
Modified: sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -26,7 +26,7 @@
void test(){
namespace as2 = boost::assign::v2;
{
- //[array
+ //[put_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,14 +38,14 @@
/*
// These are not yet available (TODO)
{
- //[map
+ //[put_ptr_map
boost::ptr_map<std::string, int> assoc;
as2::put( assoc )( "jan", 31 )( "feb", 28 )( "mar", 31 );
BOOST_ASSIGN_V2_CHECK( assoc["feb"] == 28 );
//]
}
{
- //[set
+ //[put_ptr_set
typedef std::string T;
boost::ptr_set<T> assoc;
T x = "isomer", y = "ephemeral", z = "prosaic";
@@ -56,7 +56,7 @@
}
*/
{
- //[deque
+ //[put_ptr_deque
typedef int T; T x = 1, y = 2, z = 0;
boost::ptr_deque<T> cont;
as2::put( cont )( x )( y )( z );
@@ -65,7 +65,7 @@
//]
}
{
- //[list
+ //[put_ptr_list
typedef int T; T x = 1, y = 2, z = 0;
boost::ptr_list<T> cont;
( as2::put( cont ) )( x )( y )( z );
@@ -74,7 +74,7 @@
//]
}
{
- //[vector
+ //[put_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/put/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/std.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -25,7 +25,7 @@
/deduce/dependee.hpp */
{
- //[std_deque
+ //[put_std_push_front
typedef int T; T x = 0, y = 2, z = 1;
std::deque<T> cont;
( as2::put( cont ) % as2::_push_front )( x )( y )( z );
Modified: sandbox/assign_v2/libs/assign/v2/test/ref/array/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/array/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/array/csv.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -25,37 +25,31 @@
{
namespace as2 = boost::assign::v2;
{
- //[ref_csv_array_r
+ //[ref_array_csv
typedef int const T;
T x = 1, y = 2, z = 0;
typedef as2::ref::nth_result_of::csv_array<3, T>::type ar_;
ar_ ar = as2::ref::csv_array( x, y, z );
- //]
{
- //[ref_if_fb
- T& rx = ar.front(); T& rz = ar.back();
+ T& rx = ar[0]; T& rz = ar[2];
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
- //]
}
+ //]
{
- //[ref_if_brackets
- T& rx = ar[0]; T& rz = ar[2];
+ T& rx = ar.front(); T& rz = ar.back();
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
- //]
}
{
- //[ref_if_it
T& rx = (*boost::begin( ar ) );
T& rz = *boost::next( boost::begin( ar ), 2 );
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
- //]
}
}
{
- //[ref_csv_array_w
+ //[ref_array_csv_w
typedef int T; T x, y, z;
std::vector<T> r( 3 ); r[0] = 1; r[1] = 2; r[2] = 0;
boost::copy( r, boost::begin(
@@ -67,7 +61,7 @@
//]
}
{
- //[ref_csv_array_as
+ //[ref_array_csv_assign
typedef int T; T x, y, z;
as2::ref::csv_array( x, y, z ).assign( -1 );
BOOST_ASSIGN_V2_CHECK( x == -1 );
Modified: sandbox/assign_v2/libs/assign/v2/test/ref/array/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/array/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/array/functor.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -26,37 +26,32 @@
{
namespace as2 = boost::assign::v2;
{
- //[ref_array_r
+ //[ref_array_functor_r
typedef int const T;
T x = 1, y = 2, z = 0;
typedef as2::ref::nth_result_of::array<3, T>::type ar_;
ar_ ar = as2::ref::array( x )( y )( z );
- //]
{
- //[ref_if_fb
T& rx = ar.front(); T& rz = ar.back();
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
- //]
}
+ //]
{
- //[ref_if_brackets
T& rx = ar[0]; T& rz = ar[2];
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
//]
}
{
- //[ref_if_it
T& rx = ( *boost::begin( ar ) );
T& rz = *boost::next( boost::begin( ar ), 2 );
BOOST_ASSIGN_V2_CHECK( &rx == &x );
BOOST_ASSIGN_V2_CHECK( &rz == &z );
- //]
}
}
{
- //[ref_array_w
+ //[ref_array_functor_w
typedef int T; T x, y, z;
std::vector<T> r( 3 ); r[0] = 1; r[1] = 2; r[2] = 0;
boost::copy( r, boost::begin(
@@ -68,7 +63,7 @@
//]
}
{
- //[ref_array_as
+ //[ref_array_functor_as
typedef int T; T x, y, z;
as2::ref::array( x )( y )( z ).assign( -1 );
BOOST_ASSIGN_V2_CHECK( x == -1 );
Modified: sandbox/assign_v2/libs/assign/v2/test/ref/list_tuple.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/list_tuple.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/list_tuple.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -89,6 +89,12 @@
BOOST_ASSIGN_V2_CHECK( &get<0>( list.get( i2_() ) ) == &b );
BOOST_ASSIGN_V2_CHECK( get<0>( list.get( i3_() ) ) == B );
+ result_ list2 = list;
+ BOOST_ASSIGN_V2_CHECK( &get<0>( list2.get( i0_() ) ) == &a );
+ BOOST_ASSIGN_V2_CHECK( get<0>( list2.get( i1_() ) ) == A );
+ BOOST_ASSIGN_V2_CHECK( &get<0>( list2.get( i2_() ) ) == &b );
+ BOOST_ASSIGN_V2_CHECK( get<0>( list2.get( i3_() ) ) == B );
+
}
{
typedef boost::mpl::vector2<lvalue_, lvalue_> v0_;
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-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -35,12 +35,12 @@
{
//[chain_r
typedef int T;
- boost::array<T, 2> cont; cont[0] = 0; cont[1] = 1;
- std::list<T> list; list.push_back( 2 ); list.push_back( 3 );
- std::vector<T> v( boost::begin( cont ), boost::end( cont ) );
- boost::copy( list, std::back_inserter( v ) );
+ boost::array<T, 2> cont1; cont1[0] = 0; cont1[1] = 1;
+ std::list<T> cont2; cont2.push_back( 2 ); cont2.push_back( 3 );
+ std::vector<T> joined( boost::begin( cont1 ), boost::end( cont1 ) );
+ boost::copy( cont2, std::back_inserter( joined ) );
BOOST_ASSIGN_V2_CHECK(
- boost::range::equal( v, cont | as2::_chain( list ) )
+ boost::range::equal( joined, cont1 | as2::_chain( cont2 ) )
);
//]
}
Modified: sandbox/assign_v2/libs/assign/v2/test/utility/convert.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/utility/convert.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/utility/convert.cpp 2011-02-28 19:28:21 EST (Mon, 28 Feb 2011)
@@ -63,9 +63,6 @@
typedef int T;
typedef std::vector<int> R; R r( 3 ); r[0] = 1; r[1] = 2; r[2] = 0;
- // TODO figure out why
- // C(as2::converter( ar ) ); // Call of overloaded C() ambig
-
{
typedef std::vector<T> C; f<C>( as2::converter( r ), r );
}
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