|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r66684 - in sandbox/statistics/support/libs/assign/v2: example speed src test/anon test/chain test/detail test/put test/put/compose/common test/put/compose/csv test/put/compose/functor test/put_range test/ref test/type_traits
From: erwann.rogard_at_[hidden]
Date: 2010-11-22 09:58:46
Author: e_r
Date: 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
New Revision: 66684
URL: http://svn.boost.org/trac/boost/changeset/66684
Log:
changes to libs/assign/v2 reflecting minor directory structure modification in boost/assign/v2
Text files modified:
sandbox/statistics/support/libs/assign/v2/example/conversion.cpp | 12 +-
sandbox/statistics/support/libs/assign/v2/example/fusion.cpp | 2
sandbox/statistics/support/libs/assign/v2/example/include.h | 2
sandbox/statistics/support/libs/assign/v2/speed/anon_put_ref.cpp | 2
sandbox/statistics/support/libs/assign/v2/src/main.cpp | 79 ++++++++++---------
sandbox/statistics/support/libs/assign/v2/test/anon/anon.cpp | 9 +-
sandbox/statistics/support/libs/assign/v2/test/chain/convert.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/detail/functor.cpp | 126 +++++++++++++++++++++-----------
sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp | 4
sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp | 18 ++--
sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/modulo_op.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/ptr.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/static.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/stl.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put/tuple_refs.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/put_range/convert.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/anon.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp | 156 ++++++++++++++++++++++-----------------
sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp | 24 +++++
sandbox/statistics/support/libs/assign/v2/test/type_traits/has_static_size.cpp | 2
26 files changed, 276 insertions(+), 188 deletions(-)
Modified: sandbox/statistics/support/libs/assign/v2/example/conversion.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/example/conversion.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/example/conversion.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -39,13 +39,13 @@
to.pop_back(); BOOST_ASSERT( to.back() == y );
//]
}
- {
+ {
//[convert_explicit
typedef boost::array<T, 3> from_;
typedef std::stack<T> to_;
from_ from; from[0] = x; from[1] = y; from[2] = z;
using namespace adaptor;
- BOOST_ASSERT(
+ BOOST_ASSERT(
( from | convert<to_>() ).top() == z // because LIFO
);
//]
@@ -57,15 +57,15 @@
from_ from; from[0] = x; from[1] = y;
using namespace adaptor;
namespace ns = ref::assign_copy;
- BOOST_ASSERT(
- (
+ BOOST_ASSERT(
+ (
(
- from | _chain( ns::csv_anon( z ) )
+ from | _chain( ns::csv_anon( z ) )
).convert<to_>()
).top() == z // because LIFO
);
//]
-
+
}
}
Modified: sandbox/statistics/support/libs/assign/v2/example/fusion.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/example/fusion.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/example/fusion.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -11,7 +11,7 @@
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
-#include <boost/assign/v2/ref/fusion/fusion.hpp>
+#include <boost/assign/v2/ref/fusion.hpp>
#include <libs/assign/v2/example/fusion.h>
Modified: sandbox/statistics/support/libs/assign/v2/example/include.h
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/example/include.h (original)
+++ sandbox/statistics/support/libs/assign/v2/example/include.h 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -15,7 +15,7 @@
#include <utility> // std::pair
#include <boost/assert.hpp>
#include <boost/range/algorithm.hpp>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
//]
#endif
Modified: sandbox/statistics/support/libs/assign/v2/speed/anon_put_ref.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/speed/anon_put_ref.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/speed/anon_put_ref.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -27,7 +27,7 @@
#include <boost/assign/list_of.hpp>
#include <boost/assign/list_inserter.hpp>
#define BOOST_ASSIGN_V2_LIMIT_CSV_ARITY 100
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
#include <libs/assign/v2/speed/tools.h>
Modified: sandbox/statistics/support/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/src/main.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/src/main.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -1,11 +1,11 @@
#include <iostream>
-
-#include <libs/assign/v2/test/detail/functor.h>
#include <libs/assign/v2/test/type_traits/has_push.h>
#include <libs/assign/v2/test/type_traits/has_value_type.h>
#include <libs/assign/v2/test/type_traits/has_static_size.h>
+#include <libs/assign/v2/test/detail/functor.h>
+
#include <libs/assign/v2/test/anon/anon.h>
#include <libs/assign/v2/test/chain/chain.h>
@@ -16,22 +16,23 @@
#include <libs/assign/v2/test/put/static.h>
#include <libs/assign/v2/test/put/stl.h>
#include <libs/assign/v2/test/put/tuple_refs.h>
-#include <libs/assign/v2/test/put/compose/common/forward_parameter.h>
-#include <libs/assign/v2/test/put/compose/functor/composer.h>
-#include <libs/assign/v2/test/put/compose/functor/forward_args.h>
-#include <libs/assign/v2/test/put/compose/functor/forward_seq_args.h>
-#include <libs/assign/v2/test/put/compose/functor/stl.h>
-#include <libs/assign/v2/test/put/compose/csv/composer.h>
-#include <libs/assign/v2/test/put/compose/csv/stl.h>
#include <libs/assign/v2/test/put_range/convert.h>
#include <libs/assign/v2/test/ref/convert_traits.h>
#include <libs/assign/v2/test/ref/wrapper.h>
#include <libs/assign/v2/test/ref/fusion.h>
-#include <libs/assign/v2/test/ref/fusion_matrix.h>
#include <libs/assign/v2/test/ref/csv_anon.h>
#include <libs/assign/v2/test/ref/anon.h>
+#include <libs/assign/v2/test/ref/fusion_matrix.h>
+
+#include <libs/assign/v2/test/put/compose/common/forward_parameter.h>
+#include <libs/assign/v2/test/put/compose/functor/composer.h>
+#include <libs/assign/v2/test/put/compose/functor/forward_args.h>
+#include <libs/assign/v2/test/put/compose/functor/forward_seq_args.h>
+#include <libs/assign/v2/test/put/compose/functor/stl.h>
+#include <libs/assign/v2/test/put/compose/csv/composer.h>
+#include <libs/assign/v2/test/put/compose/csv/stl.h>
//#include <libs/assign/v2/example/foo.h>
//#include <libs/assign/v2/example/put_adaptor.h>
@@ -41,48 +42,50 @@
//#include <libs/assign/v2/example/conversion.h>
//#include <libs/assign/v2/example/chain.h>
//#include <libs/assign/v2/example/fusion.h>
-//#include <libs/assign/v2/example/experimental.h>
//#include <libs/assign/v2/speed/anon_put_ref.h>
int main (int argc, char * const argv[]) {
+ // Warning : Do not include libs/assign/v2/test/unit_testing
+ // in your project. That would cause a conflict.
+
{
using namespace test_assign_v2;
+
xxx_type_traits::xxx_has_push::test();
xxx_type_traits::xxx_has_value_type::test();
xxx_type_traits::xxx_has_static_size::test();
- //xxx_anon::xxx_anon::test();
+ xxx_detail::xxx_functor::test();
- //xxx_chain::xxx_chain::test();
- //xxx_chain::xxx_convert::test();
+ xxx_anon::xxx_anon::test();
- //xxx_detail::xxx_functor::test();
+ xxx_chain::xxx_chain::test();
+ xxx_chain::xxx_convert::test();
- //xxx_put::xxx_modulo_op::test();
- //xxx_put::xxx_ptr::test();
- //xxx_put::xxx_static::test();
- //xxx_put::xxx_stl::test();
- //xxx_put::xxx_tuple_refs::test();
-
- //xxx_put_range::xxx_convert::test();
-
- //xxx_put::xxx_compose::xxx_common::xxx_forward_parameter::test();
- //xxx_put::xxx_compose::xxx_functor::xxx_composer::test();
- //xxx_put::xxx_compose::xxx_functor::xxx_forward_args::test();
- //xxx_put::xxx_compose::xxx_functor::xxx_forward_seq_args::test();
- //xxx_put::xxx_compose::xxx_functor::xxx_stl::test();
-
- //xxx_put::xxx_compose::xxx_csv::xxx_composer::test();
- //xxx_put::xxx_compose::xxx_csv::xxx_stl::test();
-
- //xxx_ref::xxx_convert_traits::test();
- //xxx_ref::xxx_wrapper::test();
- //xxx_ref::xxx_anon::test();
- //xxx_ref::xxx_csv_anon::test();
- //xxx_ref::xxx_fusion::test();
- //xxx_ref::xxx_fusion_matrix::test();
+ xxx_put::xxx_modulo_op::test();
+ xxx_put::xxx_ptr::test();
+ xxx_put::xxx_static::test();
+ xxx_put::xxx_stl::test();
+ xxx_put::xxx_tuple_refs::test();
+
+ xxx_put_range::xxx_convert::test();
+
+ xxx_ref::xxx_convert_traits::test();
+ xxx_ref::xxx_wrapper::test();
+ xxx_ref::xxx_fusion::test();
+ xxx_ref::xxx_csv_anon::test();
+ xxx_ref::xxx_anon::test();
+ xxx_ref::xxx_fusion_matrix::test();
+
+ xxx_put::xxx_compose::xxx_common::xxx_forward_parameter::test();
+ xxx_put::xxx_compose::xxx_csv::xxx_composer::test();
+ xxx_put::xxx_compose::xxx_csv::xxx_stl::test();
+ xxx_put::xxx_compose::xxx_functor::xxx_composer::test();
+ xxx_put::xxx_compose::xxx_functor::xxx_forward_args::test();
+ xxx_put::xxx_compose::xxx_functor::xxx_forward_seq_args::test();
+ xxx_put::xxx_compose::xxx_functor::xxx_stl::test();
}
{
Modified: sandbox/statistics/support/libs/assign/v2/test/anon/anon.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/anon/anon.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/anon/anon.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -16,13 +16,13 @@
#include <vector>
#include <boost/array.hpp>
#include <boost/typeof/typeof.hpp>
-#include <boost/assign/v2/detail/keyword/keyword.hpp>
+#include <boost/assign/v2/detail/keyword.hpp>
#include <boost/assign/v2/detail/checking/container.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
#include <boost/assign/v2/detail/checking/relational_op.hpp>
#include <boost/assign/v2/detail/checking/check_convert.hpp>
-#include <boost/assign/v2/anon/anon.hpp>
+#include <boost/assign/v2/anon.hpp>
#include <libs/assign/v2/test/anon/anon.h>
@@ -32,13 +32,14 @@
void test()
{
- using namespace boost::assign::v2;
+ using namespace boost::assign::v2;
{
// CSV
using namespace checking::constants;
using namespace checking::container;
do_check( csv_anon( a, b, c, d, e, f, g, h ) );
}
+/*
{
// Operator%
BOOST_AUTO(tmp, ( anon<int>( _nil ) % (_repeat = 3) ) );
@@ -96,7 +97,7 @@
csv_anon( a, b, c, d, e, f, g, h )
);
}
-
+*/
}
}// xxx_anon
Modified: sandbox/statistics/support/libs/assign/v2/test/chain/convert.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/chain/convert.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/chain/convert.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -16,7 +16,7 @@
#include <vector>
#include <boost/array.hpp>
#include <boost/typeof/typeof.hpp>
-#include <boost/assign/v2/chain/chain.hpp>
+#include <boost/assign/v2/chain.hpp>
#include <boost/assign/v2/detail/checking/container.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
#include <boost/assign/v2/detail/checking/check_convert.hpp>
Modified: sandbox/statistics/support/libs/assign/v2/test/detail/functor.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/detail/functor.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/detail/functor.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -10,20 +10,24 @@
#include <string>
#include <iostream>
#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/arithmetic/dec.hpp>
+#include <boost/preprocessor/control/expr_if.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/repetition/enum_trailing.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/selection/min.hpp>
#include <boost/tuple/tuple.hpp>
-#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
-#include <boost/assign/v2/detail/config/limit_arity.hpp>
-#include <boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp>
+
+#include <boost/assign/v2/detail/config/tuple_limit_arity.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
#include <boost/assign/v2/detail/functor/constructor.hpp>
+
+#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+// do nothing
+#else
+#include <boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp>
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
#include <libs/assign/v2/test/detail/functor.h>
namespace test_assign_v2{
@@ -34,59 +38,96 @@
{
using namespace boost::assign::v2;
-// Note : 10 is the max tuple size
#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-#define BOOST_ASSIGN_V2_n BOOST_PP_MIN( \
- 10, \
- BOOST_PP_SUB( \
- BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_ARITY), \
- 1 \
- ) \
- ) \
-/**/
+#define BOOST_ASSIGN_V2_n BOOST_ASSIGN_V2_CPP03_TUPLE_LIMIT_ARITY
+// That's because we are constructing a boost::tuple<>.
#else
#define BOOST_ASSIGN_V2_n BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY
+
+#if BOOST_ASSIGN_V2_n > BOOST_ASSIGN_V2_CPP03_TUPLE_LIMIT_ARITY
+#error
#endif
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
{
-#define BOOST_ASSIGN_V2_lvalue(z, n, data) int const&
-#define BOOST_ASSIGN_V2_trail \
- BOOST_PP_ENUM_TRAILING( \
- BOOST_PP_DEC(BOOST_ASSIGN_V2_n), \
- BOOST_ASSIGN_V2_lvalue, \
- ~ \
- ) \
-/**/
- // The first element is an LValue and the others are const to
- // test that LValue and const can be mixed
+ typedef int& x_ref_;
+ typedef int const& y_ref_;
+ typedef int z_;
+
+#define MACRO(Z, n, data) data
+
typedef boost::tuple<
- int&
- BOOST_ASSIGN_V2_trail
+ BOOST_PP_EXPR_IF(
+ BOOST_ASSIGN_V2_n,
+ x_ref_
+ )
+ BOOST_PP_ENUM_TRAILING(
+ BOOST_PP_IF(BOOST_PP_DEC(BOOST_ASSIGN_V2_n),1,0),
+ MACRO,
+ y_ref_
+ )
+ BOOST_PP_ENUM_TRAILING(
+ BOOST_PP_SUB(BOOST_ASSIGN_V2_n,2),
+ MACRO,
+ z_
+ )
> t_;
-#undef BOOST_ASSIGN_V2_lvalue
-#undef BOOST_ASSIGN_V2_trail
+#undef MACRO
typedef functor_aux::constructor<t_> f_;
+ f_ f;
+
+ int x = -1;
+ int const y = 0;
-int BOOST_PP_ENUM_PARAMS(
- BOOST_ASSIGN_V2_n,
- x
-);
+#define MACRO(z, n, data) data
-#define BOOST_ASSIGN_V2_check(z, i, data ) \
+ t_ t = f(
+ BOOST_PP_EXPR_IF(
+ BOOST_ASSIGN_V2_n,
+ x
+ )
+ BOOST_PP_ENUM_TRAILING(
+ BOOST_PP_IF(BOOST_PP_DEC(BOOST_ASSIGN_V2_n),1,0),
+ MACRO,
+ y
+ )
+ BOOST_PP_ENUM_TRAILING(
+ BOOST_PP_SUB(BOOST_ASSIGN_V2_n, 2),
+ MACRO,
+ 1
+ )
+ );
+#undef MACRO
+ BOOST_PP_EXPR_IF(
+ BOOST_ASSIGN_V2_n,
+ BOOST_ASSIGN_V2_CHECK_EQUAL(
+ &boost::get<0>( t ),
+ &x
+ );
+ )
+ BOOST_PP_EXPR_IF(
+ BOOST_PP_DEC(BOOST_ASSIGN_V2_n),
+ BOOST_ASSIGN_V2_CHECK_EQUAL(
+ &boost::get<1>( t ),
+ &y
+ );
+ )
+
+#define MACRO(z, i, data ) \
BOOST_ASSIGN_V2_CHECK_EQUAL( \
- & boost::get< i >( t ), \
- & BOOST_PP_CAT(x,i) \
+ boost::get< BOOST_PP_ADD(i,2) >( t ), \
+ 1 \
); \
/**/
- f_ f;
- t_ t = f( BOOST_PP_ENUM_PARAMS(BOOST_ASSIGN_V2_n, x) );
BOOST_PP_REPEAT(
- BOOST_ASSIGN_V2_n,
- BOOST_ASSIGN_V2_check,
+ BOOST_PP_SUB(BOOST_ASSIGN_V2_n,2),
+ MACRO,
~
)
+#undef MACRO
typedef std::string str_;
const str_ cpp
@@ -100,7 +141,6 @@
<< " }"
<< std::endl;
-#undef BOOST_ASSIGN_V2_check
#undef BOOST_ASSIGN_V2_n
}
}
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/common/forward_parameter.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -12,8 +12,8 @@
#include <boost/assign/v2/detail/functor/identity.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
#include <boost/assign/v2/put/modifier/push_front.hpp>
-#include <boost/assign/v2/put/generic/generic.hpp>
-#include <boost/assign/v2/put/sub/sub.hpp>
+#include <boost/assign/v2/put/generic.hpp>
+#include <boost/assign/v2/put/sub.hpp>
#include <boost/assign/v2/put/generic/new_fun.hpp>
#include <boost/assign/v2/put/generic/new_modifier.hpp>
#include <boost/assign/v2/put/compose/functor/composer.hpp>
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/composer.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -10,7 +10,7 @@
#ifndef LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
#define LIBS_ASSIGN_V2_TEST_PUT_COMPOSE_CSV_COMPOSER_ER_2010_H
#include <boost/mpl/int.hpp>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
namespace test_assign_v2{
namespace xxx_put{
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/csv/stl.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -19,7 +19,7 @@
#include <vector>
#include <utility>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
#include <libs/assign/v2/test/put/compose/csv/stl.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/composer.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -25,7 +25,8 @@
void test()
{
- using namespace boost::assign::v2;
+
+ using namespace boost::assign::v2;
using namespace checking::constants;
typedef boost::mpl::int_<0> zero_;
typedef boost::mpl::int_<1> one_;
@@ -33,6 +34,7 @@
{
using namespace adaptor;
int x = -1;
+ put_compose_aux::composer<>();
BOOST_AUTO(
tmp,
@@ -42,8 +44,9 @@
.parameters()
.static_lookup( zero_() ).unwrap();
BOOST_ASSIGN_V2_CHECK_EQUAL( n, 3 );
+
}
- {
+ {
int a1, b1, c1, d1;//, e1, f1, g1, h1;
using namespace checking::constants;
{
@@ -54,25 +57,25 @@
BOOST_AUTO(
tmp,
( _put( a1, b1 )( c1 )() )
- );
+ );
{
int & x = tmp.sequence_args()
.static_row( zero_() )
- .static_column( zero_() );
+ .static_elem( zero_() );
BOOST_ASSIGN_V2_CHECK_EQUAL( &a1, &x );
BOOST_ASSIGN_V2_CHECK_EQUAL( a, x );
}
{
int & x = tmp.sequence_args()
.static_row( zero_() )
- .static_column( one_() );
+ .static_elem( one_() );
BOOST_ASSIGN_V2_CHECK_EQUAL( &b1, &x );
BOOST_ASSIGN_V2_CHECK_EQUAL( b, x );
}
{
int & x = tmp.sequence_args()
.static_row( one_() )
- .static_column( zero_() );
+ .static_elem( zero_() );
BOOST_ASSIGN_V2_CHECK_EQUAL( &c1, &x );
BOOST_ASSIGN_V2_CHECK_EQUAL( c, x );
}
@@ -81,9 +84,8 @@
.static_row( two_() );
}
}
-
}
-
+
}// xxx_composer
}// xxx_functor
}// xxx_compose
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/forward_seq_args.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -55,7 +55,7 @@
BOOST_ASSIGN_V2_CHECK_EQUAL( boost::get<1>( cont[1] ), d );
}
}
-
+
}// xxx_forward_seq_args
}// xxx_functor
}// xxx_compose
Modified: sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/compose/functor/stl.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -18,7 +18,7 @@
#include <stack>
#include <vector>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
#include <libs/assign/v2/test/put/compose/functor/stl.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/put/modulo_op.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/modulo_op.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/modulo_op.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -11,7 +11,7 @@
#include <map>
#include <boost/assign/v2/detail/checking/container.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
-#include <boost/assign/v2/put/put.hpp>
+#include <boost/assign/v2/put.hpp>
#include <libs/assign/v2/test/put/modulo_op.h>
namespace test_assign_v2{
Modified: sandbox/statistics/support/libs/assign/v2/test/put/ptr.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/ptr.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/ptr.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -15,7 +15,7 @@
#include <boost/ptr_container/ptr_vector.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
#include <boost/assign/v2/detail/checking/container.hpp>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
#include <libs/assign/v2/test/put/ptr.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/put/static.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/static.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/static.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -28,7 +28,7 @@
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/control/expr_if.hpp>
#include <boost/assign/v2/detail/checking/assert.hpp>
-#include <boost/assign/v2/put/modifier/modifier.hpp>
+#include <boost/assign/v2/put/modifier.hpp>
#include <libs/assign/v2/test/put/static.h>
namespace test_assign_v2{
Modified: sandbox/statistics/support/libs/assign/v2/test/put/stl.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/stl.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/stl.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -20,7 +20,7 @@
//#include <boost/assign/v2/detail/checking/constants.hpp>
//#include <boost/assign/v2/detail/checking/container.hpp>
-#include <boost/assign/v2/v2.hpp>
+#include <boost/assign/v2.hpp>
#include <libs/assign/v2/test/put/stl.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/put/tuple_refs.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/tuple_refs.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/tuple_refs.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -10,7 +10,7 @@
#include <deque>
#include <boost/tuple/tuple.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
-#include <boost/assign/v2/put/put.hpp>
+#include <boost/assign/v2/put.hpp>
#include <libs/assign/v2/test/put/tuple_refs.h>
namespace test_assign_v2{
Modified: sandbox/statistics/support/libs/assign/v2/test/put_range/convert.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put_range/convert.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put_range/convert.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -18,7 +18,7 @@
#include <boost/assign/v2/detail/checking/container.hpp>
#include <boost/assign/v2/detail/checking/constants.hpp>
-#include <boost/assign/v2/put/range/range.hpp>
+#include <boost/assign/v2/put/range.hpp>
#include <libs/assign/v2/test/put_range/convert.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/anon.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/anon.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/anon.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -25,7 +25,7 @@
#include <boost/assign/v2/detail/checking/check_convert.hpp> // TODO
#include <boost/assign/v2/detail/checking/array.hpp>
#include <boost/assign/v2/detail/checking/relational_op.hpp>
-#include <boost/assign/v2/ref/anon/unary/unary.hpp>
+#include <boost/assign/v2/ref/anon/functor.hpp>
#include <boost/assign/v2/ref/wrapper/copy.hpp>
#include <libs/assign/v2/test/ref/anon.h>
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -17,7 +17,7 @@
#include <boost/assign/v2/detail/checking/constants.hpp>
#include <boost/assign/v2/detail/checking/range.hpp>
#include <boost/assign/v2/detail/checking/array.hpp>
-#include <boost/assign/v2/ref/anon/csv/csv.hpp>
+#include <boost/assign/v2/ref/anon/csv.hpp>
#include <libs/assign/v2/test/ref/csv_anon.h>
namespace test_assign_v2{
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -15,7 +15,7 @@
#include <boost/tuple/tuple.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/ref/fusion/fusion.hpp>
+#include <boost/assign/v2/ref/fusion.hpp>
#include <libs/assign/v2/test/ref/fusion.h>
namespace test_assign_v2{
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/fusion_matrix.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -10,12 +10,23 @@
#include <boost/mpl/vector/vector0.hpp>
#include <boost/mpl/vector/vector10.hpp>
#include <boost/mpl/vector.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/type_traits/is_same.hpp>
#include <boost/typeof/typeof.hpp>
+
#include <boost/assign/v2/detail/checking/check_equal.hpp>
#include <boost/assign/v2/ref/fusion_matrix/container.hpp>
#include <boost/assign/v2/ref/fusion_matrix/nth_result_of.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#else
+#include <boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp>
+#if BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY < 2
+#error
+#endif
+#endif
+
#include <libs/assign/v2/test/ref/fusion_matrix.h>
namespace test_assign_v2{
@@ -26,76 +37,87 @@
{
using namespace boost::assign::v2;
typedef ref::fusion_matrix_aux::empty<>::type empty_;
- typedef boost::mpl::vector0<> v0_;
- typedef boost::mpl::vector1<int const> v1_;
- typedef boost::mpl::vector2<int const, int const> v2_;
+ typedef int value_; typedef value_ const cvalue_;
+ typedef value_ a_; typedef cvalue_ b_;
typedef ref::nth_result_of::fusion_matrix<> meta_result_;
- //typedef boost::mpl::apply1<
- // meta_result_,
- // boost::mpl::vector<
- // v2_,
- // v1_,
- // v0_
- // >
- //>::type result_;
-
- // TODO restore short version
- typedef boost::assign::v2::ref::fusion_matrix_aux::container<
- 3ul,
- boost::assign::v2::ref::fusion_matrix_aux::container<
- 2ul,
- boost::assign::v2::ref::fusion_matrix_aux::container<
- 1ul,
- boost::assign::v2::ref::fusion_matrix_aux::container<
- 0ul,
- mpl_::void_,
- boost::assign::v2::ref::assign_tag::copy,
- boost::use_default,
- mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na
- >,
- boost::assign::v2::ref::assign_tag::copy,
- boost::use_default,
- int,
- int,
- mpl_::na,
- mpl_::na,
- mpl_::na
- >,
- boost::assign::v2::ref::assign_tag::copy,
- boost::use_default,
- int,
- mpl_::na,
- mpl_::na,
- mpl_::na,
- mpl_::na
- >,
- boost::assign::v2::ref::assign_tag::copy,
- boost::use_default,
- mpl_::na,
- mpl_::na,
- mpl_::na,
- mpl_::na,
- mpl_::na
- > result_;
-
- empty_ e;
- result_ result = e( 1, 2 )( 1 )();
-
- typedef boost::mpl::int_<0> int0_;
- typedef boost::mpl::int_<1> int1_;
- typedef boost::mpl::int_<2> int2_;
- {
- BOOST_AUTO(tmp, result.static_row( int0_() ) );
- BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int0_() ), 1);
- BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int1_() ), 2);
- }
+ typedef boost::mpl::vector0<> v0_;
+ typedef boost::mpl::vector1<a_> v1_a_;
+ typedef boost::mpl::vector1<b_> v1_b_;
+ typedef boost::mpl::vector2<a_, a_> v2_a_a_;
+ typedef boost::mpl::vector2<a_, b_> v2_a_b_;
+ typedef boost::mpl::vector2<b_, b_> v2_b_b_;
+#define MACRO(i, j, t)\
+ {\
+ typedef result_::static_row_result<i>::type row_;\
+ row_ row = result.static_row( boost::mpl::int_<i>() );\
+ BOOST_ASSIGN_V2_CHECK_EQUAL(\
+ row.static_elem(boost::mpl::int_<j>() ), \
+ t\
+ );\
+ }\
+/**/
+ a_ a = 1;
+ b_ b = 2;
{
- BOOST_AUTO(tmp, result.static_row( int1_() ) );
- BOOST_ASSIGN_V2_CHECK_EQUAL( tmp.static_column( int0_() ), 1);
- }
- {
- BOOST_AUTO(tmp, result.static_row( int2_() ) );
+
+ typedef boost::mpl::apply1<
+ meta_result_,
+ boost::mpl::vector<
+ v1_a_,
+ v1_b_,
+ v0_,
+ v2_a_a_,
+ v2_a_b_,
+ v2_b_b_
+ >
+ >::type result_;
+ {
+ // b passed as const lvalue
+
+ empty_ e;
+ result_ result = e // i k
+ ( a ) // 0 1
+ ( b ) // 1 1
+ ( ) // 2 0
+ ( a, a ) // 3 2
+ ( a, b ) // 4 2
+ ( b, b ); // 5 2
+
+ MACRO(0, 0, a)
+ MACRO(1, 0, b)
+ typedef result_::static_row_result<3>::type row_;
+ row_ row = result.static_row( boost::mpl::int_<3>() );
+ MACRO(3, 0, a)
+ MACRO(3, 1, a)
+ MACRO(4, 0, a)
+ MACRO(4, 1, b)
+ MACRO(5, 0, b)
+ MACRO(5, 1, b)
+ }
+ {
+ // b passed as rvalue
+ empty_ e;
+ result_ result = e // i k
+ ( a ) // 0 1
+ ( value_( b ) ) // 1 1
+ ( ) // 2 0
+ ( a, a ) // 3 2
+ ( a, value_( b ) ) // 4 2
+ ( value_( b ), value_( b ) ); // 5 2
+
+ MACRO(0, 0, a)
+ MACRO(1, 0, b)
+ typedef result_::static_row_result<3>::type row_;
+ row_ row = result.static_row( boost::mpl::int_<3>() );
+ MACRO(3, 0, a)
+ MACRO(3, 1, a)
+ MACRO(4, 0, a)
+ MACRO(4, 1, b)
+ MACRO(5, 0, b)
+ MACRO(5, 1, b)
+ }
}
+#undef MACRO
}
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -7,8 +7,10 @@
// Boost Software License, Version 1.0. (See accompanying file //
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
-#include <boost/assign/v2/ref/wrapper/wrapper.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/assign/v2/ref/wrapper.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
#include <libs/assign/v2/test/ref/wrapper.h>
namespace test_assign_v2{
@@ -16,7 +18,7 @@
namespace xxx_wrapper{
void test()
- {
+ {
using namespace boost::assign::v2;
typedef int val_;
{
@@ -45,6 +47,24 @@
val_ const a = 1;
w = a; BOOST_ASSIGN_V2_CHECK_EQUAL( &w.unwrap(), &a );
}
+ #if BOOST_ASSIGN_V2_ENABLE_CPP0X
+ {
+ typedef val_ const cval_;
+ typedef ref::wrapper_param<val_>::type param_;
+ BOOST_MPL_ASSERT(( boost::is_same<param_, cval_> ));
+ typedef ref::type_traits::copy_wrapper<param_>::type w_;
+ {
+ val_&& a = 1;
+ w_ w( a );
+ BOOST_ASSIGN_V2_CHECK_EQUAL( &w.unwrap(), &a );
+ }
+ {
+ cval_ a = 1;
+ w_ w = w_( val_(a) );
+ BOOST_ASSIGN_V2_CHECK_EQUAL( w.unwrap(), a );
+ }
+ }
+ #endif
}
}// xxx_wrapper
Modified: sandbox/statistics/support/libs/assign/v2/test/type_traits/has_static_size.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/type_traits/has_static_size.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/type_traits/has_static_size.cpp 2010-11-22 09:58:39 EST (Mon, 22 Nov 2010)
@@ -10,7 +10,7 @@
#include <boost/array.hpp>
#include <boost/static_assert.hpp>
#include <boost/assign/v2/detail/type_traits/container/has_static_size.hpp>
-#include <boost/assign/v2/ref/anon/unary/assign_copy.hpp>
+#include <boost/assign/v2/ref/anon/functor/assign_copy.hpp>
#include <libs/assign/v2/test/type_traits/has_static_size.h>
struct foo{
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