|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r70517 - in sandbox/assign_v2: boost/assign/v2 boost/assign/v2/chain boost/assign/v2/conversion boost/assign/v2/detail/functor boost/assign/v2/include boost/assign/v2/include/logical_and boost/assign/v2/interpreter boost/assign/v2/option boost/assign/v2/ref/array boost/assign/v2/ref/aux_/list boost/assign/v2/ref/aux_/list/holder libs/assign/v2 libs/assign/v2/src libs/assign/v2/test libs/assign/v2/test/ref libs/assign/v2/test/unit_testing
From: erwann.rogard_at_[hidden]
Date: 2011-03-24 16:51:44
Author: e_r
Date: 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
New Revision: 70517
URL: http://svn.boost.org/trac/boost/changeset/70517
Log:
upd assign_v2
Text files modified:
sandbox/assign_v2/boost/assign/v2/chain.hpp | 3 +
sandbox/assign_v2/boost/assign/v2/chain/chain.hpp | 60 ++++++++++++++++++++++-----------------
sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp | 6 ++--
sandbox/assign_v2/boost/assign/v2/chain/meta.hpp | 27 ++++++++++++-----
sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp | 11 +++++--
sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp | 2
sandbox/assign_v2/boost/assign/v2/csv.hpp | 2
sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp | 2
sandbox/assign_v2/boost/assign/v2/include.hpp | 5 ++-
sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp | 2
sandbox/assign_v2/boost/assign/v2/include/ref.hpp | 2
sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp | 2
sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp | 6 ++--
sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp | 4 +-
sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp | 6 ++--
sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp | 8 ++--
sandbox/assign_v2/boost/assign/v2/option/modifier.hpp | 6 ++--
sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp | 14 ++++----
sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp | 2
sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp | 2
sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp | 14 +--------
sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp | 12 +++----
sandbox/assign_v2/libs/assign/v2/src/main.cpp | 47 +++++++++++++++----------------
sandbox/assign_v2/libs/assign/v2/test/chain.cpp | 8 ++--
sandbox/assign_v2/libs/assign/v2/test/conversion.cpp | 18 ++++++------
sandbox/assign_v2/libs/assign/v2/test/csv.cpp | 6 ++--
sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp | 6 ++--
sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 | 5 +--
sandbox/assign_v2/libs/assign/v2/tutorial.cpp | 4 ++
30 files changed, 154 insertions(+), 140 deletions(-)
Modified: sandbox/assign_v2/boost/assign/v2/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -11,6 +11,7 @@
#define BOOST_ASSIGN_V2_CHAIN_ER_2010_HPP
#include <boost/assign/v2/chain/chain.hpp>
-// #include <boost/assign/v2/chain/operator_and.hpp> // keep commented out as it is option
+// keep commented out as it is optional:
+// #include <boost/assign/v2/chain/logical_and.hpp>
#endif // BOOST_ASSIGN_V2_CHAIN_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/chain/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -11,6 +11,7 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_CHAIN_CHAIN_ER_2010_HPP
#define BOOST_ASSIGN_V2_CHAIN_CHAIN_ER_2010_HPP
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/assign/v2/chain/meta.hpp>
#include <boost/mpl/void.hpp>
@@ -22,12 +23,13 @@
namespace boost{
namespace assign{
namespace v2{
+//[syntax_chain_chain
namespace chain_aux{
- typedef ::boost::mpl::void_ void_;
+ /*<-*/typedef ::boost::mpl::void_ void_;/*->*/
template<typename U>
- struct adaptor1
+ struct adaptor1/*<-*/
{
adaptor1( U& r )
: ptr( &r )
@@ -35,9 +37,9 @@
U& reference()const{ return *this->ptr; }
private:
mutable U* ptr;
- };
+ }/*->*/;
- struct adaptor2
+ struct adaptor2/*<-*/
{
adaptor2(){}
@@ -60,37 +62,43 @@
return result<R const>::call( r );
}
- };
+ }/*->*/;
+
+ template<typename R1, typename U2>
+ typename result_of::chain<R1, U2>::type
+ operator|(R1 & r1, chain_aux::adaptor1<U2> const & h)/*<-*/
+ {
+ typedef result_of::chain<R1, U2> caller_;
+ return caller_::call( r1, h.reference() );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ template<typename R1, typename U2>
+ typename result_of::chain<R1 const, U2>::type
+ operator|(R1 const & r1, chain_aux::adaptor1<U2> const & h)/*<-*/
+ {
+ typedef result_of::chain<R1 const, U2> caller_;
+ return caller_::call( r1, h.reference() );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
}// chain_aux
+//<-
namespace{
- const chain_aux::adaptor2 _chain = chain_aux::adaptor2();
+//->
+
+ const chain_aux::adaptor2 _chain/*<-*/ = chain_aux::adaptor2()/*->*/;
+
+//<-
}
+//->
namespace result_of{
template<typename R1, typename R2>
- struct chain : chain_aux::result<R1, R2>{};
+ struct chain/*<-*/
+ : chain_aux::result_of::chain<R1, R2>
+ {}/*->*/;
}// result_of
-namespace chain_aux{
-
-#define BOOST_ASSIGN_V2_INTERPRETER_CHAIN(U1) \
- template<typename R1, typename U2> \
- typename chain_aux::result<U1, U2>::type \
- operator|(U1 & r1, chain_aux::adaptor1<U2> const & h) \
- { \
- typedef chain_aux::result<U1, U2> caller_; \
- return caller_::call( r1, h.reference() ); \
- } \
-\
-/**/
-
-BOOST_ASSIGN_V2_INTERPRETER_CHAIN(R1 )
-BOOST_ASSIGN_V2_INTERPRETER_CHAIN(R1 const)
-#undef BOOST_ASSIGN_V2_INTERPRETER_CHAIN
-
-}// chain_aux
-
+//]
}// v2
}// assign
}// boost
Modified: sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/logical_and.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -8,8 +8,8 @@
// Boost Software License, Version 1.0. (See accompanying file //
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_CHAIN_OPERATOR_AND_ER_2010_HPP
-#define BOOST_ASSIGN_V2_CHAIN_OPERATOR_AND_ER_2010_HPP
+#ifndef BOOST_ASSIGN_V2_CHAIN_LOGICAL_AND_ER_2010_HPP
+#define BOOST_ASSIGN_V2_CHAIN_LOGICAL_AND_ER_2010_HPP
#include <boost/assign/v2/chain/meta.hpp>
#include <boost/assign/v2/chain/chain.hpp>
@@ -19,7 +19,7 @@
#define BOOST_ASSIGN_V2_MACRO(U1, U2) \
template<typename R1, typename R2> \
-typename chain_aux::result< \
+typename result_of::chain< \
U1,\
U2 \
>::type \
Modified: sandbox/assign_v2/boost/assign/v2/chain/meta.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/chain/meta.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/chain/meta.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -10,6 +10,7 @@
#ifndef BOOST_ASSIGN_V2_CHAIN_META_ER_2010_HPP
#define BOOST_ASSIGN_V2_CHAIN_META_ER_2010_HPP
#include <boost/assign/v2/chain/iterator.hpp>
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/config.hpp>
#include <boost/concept/assert.hpp>
#include <boost/mpl/and.hpp>
@@ -28,8 +29,10 @@
struct use_default;
namespace assign{
namespace v2{
+//[syntax_chain_meta
namespace chain_aux{
+//<-
template<typename R1, typename R2, template<typename> class F>
struct range{
@@ -61,7 +64,6 @@
struct range_r
: chain_aux::range<R1, R2, boost::range_const_iterator>{};
- // Use-const
template<typename U1, typename U2,
bool is_r = boost::is_reference<U1>::value,
bool is_c = boost::is_const<
@@ -79,14 +81,21 @@
typename boost::range_reference<R2>::type
>{};
- template<typename R1, typename R2>
- struct use_const : ::boost::mpl::bool_<
+//->
+
+ template<
+ typename R1 // Range
+ , typename R2 // Range
+ >
+ struct use_const/*<-*/ : ::boost::mpl::bool_<
!dont_use_const<R1, R2>::value
- >{};
+ >{}/*->*/;
- // Result
+namespace result_of{
+
template<typename R1, typename R2>
- struct result{
+ struct chain/*<-*/
+ {
typedef typename ::boost::mpl::eval_if<
chain_aux::use_const<R1, R2>,
::boost::mpl::identity< chain_aux::range_r<R1, R2> >,
@@ -99,9 +108,11 @@
{
return caller_::call( r1, r2 );
}
- };
-
+ }/*->*/;
+
+}// result_of
}// chain_aux
+//]
}// v2
}// assign
}// boost
Modified: sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/conversion/convert.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -16,7 +16,7 @@
namespace boost{
namespace assign{
namespace v2{
-//[syntax_utility_conversion_convert
+//[syntax_conversion_convert
namespace convert_tag{
struct put{};
@@ -42,7 +42,7 @@
template<typename C, typename R>
struct deduce_tag;
-//->
+
template<typename C, typename R>
C convert(R const& r)/*<-*/
{
@@ -50,6 +50,8 @@
return conversion_aux::convert<C>( r, tag_() );
}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+//->
+
template<typename C>
struct convert_adapter/*<-*/{}/*->*/;
@@ -62,7 +64,10 @@
}// conversion_aux
namespace result_of{
- template<typename /*<<Container>>*/ C, typename /*<<Range>>*/R>
+ template<
+ typename C // Container
+ , typename R // Range
+ >
struct convert/*<-*/{ typedef C type; }/*->*/;
}//result_of
Modified: sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/conversion/converter.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -20,7 +20,7 @@
namespace boost{
namespace assign{
namespace v2{
-//[syntax_utility_conversion_converter
+//[syntax_conversion_converter
namespace conversion_aux{
template<typename R>
Modified: sandbox/assign_v2/boost/assign/v2/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/csv.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/csv.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -62,7 +62,7 @@
};
}// csv_aux
-//[syntax_utility_csv
+//[syntax_csv
namespace result_of{
template<typename F, typename V>
Modified: sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -36,7 +36,7 @@
::boost::mpl::always<T>
>
#endif
- /*->*/
+ /*->*/
{
//<-
typedef functor_aux::constructor<T> this_;
Modified: sandbox/assign_v2/boost/assign/v2/include.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -25,7 +25,8 @@
#include <boost/assign/v2/include/csv.hpp>
#include <boost/assign/v2/include/csv_deque.hpp>
#include <boost/assign/v2/include/deque.hpp>
-//#include <boost/assign/v2/include/ref.hpp>
-//#include <boost/assign/v2/include/logical_and.hpp>
+#include <boost/assign/v2/include/logical_and.hpp>
+#include <boost/assign/v2/include/macro.hpp>
+#include <boost/assign/v2/include/ref.hpp>
#endif // BOOST_ASSIGN_V2_INCLUDE_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include/logical_and/chain.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -9,6 +9,6 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP
#define BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP
-#include <boost/assign/v2/chain/operator_and.hpp>
+#include <boost/assign/v2/chain/logical_and.hpp>
#endif //BOOST_ASSIGN_V2_INCLUDE_LOGICAL_AND_CHAIN_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/include/ref.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/include/ref.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/include/ref.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -9,6 +9,6 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP
#define BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP
-//#include <boost/assign/v2/ref/include.hpp>
+#include <boost/assign/v2/ref/include.hpp>
#endif // BOOST_ASSIGN_V2_INCLUDE_REF_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/as_arg_list.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -20,7 +20,7 @@
namespace interpreter_aux{
template<
- typename R // Range
+ typename R // Range
>
class as_arg_list_adapter/*<-*/
{
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -134,10 +134,10 @@
};
template<
- typename C // Container,
- , typename F // Data generator
+ typename C // Container,
+ , typename F // Data generator
, typename Tag // Modifier tag
- , typename D // Derived
+ , typename D // Derived
>
class interpreter_crtp
//<-
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/data.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -42,7 +42,7 @@
}/*->*/;
template<
- typename C // Value-container
+ typename C // Value-container
, template<typename > class F = container_value
>
struct deduce_value_generator/*<-*/
@@ -53,7 +53,7 @@
}/*->*/;
template<
- typename C // Value or pointer-container
+ typename C // Value or pointer-container
>
struct deduce_data_generator/*<-*/
: boost::mpl::eval_if<
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/modifier.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -29,7 +29,7 @@
//[syntax_interpreter_modifier
namespace modifier_tag{
- // Namespace in which to declare template arguments of `interpreter_modifier<>`
+ // Namespace in which to declare template arguments of `interpreter_modifier<>`
}//modifier_tag
namespace interpreter_aux{
@@ -37,7 +37,7 @@
template<typename Tag>
struct interpreter_modifier
{
- // Specialize on Tag to model ConceptModifier
+ // Specialize on Tag to model ConceptModifier
};
template<typename Tag, typename C, typename T>
@@ -130,7 +130,7 @@
namespace interpreter_aux{
template<
- typename C // Container
+ typename C // Container
>
struct deduce_modifier_tag/*<-*/
: switch_aux::result< switch_tag::deduce_put, C>
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -19,11 +19,11 @@
namespace interpreter_aux{
template<
- typename D // Derives from interpreter_crtp
+ typename D // Derives from interpreter_crtp
>
struct replace_data_generator{
- // Metafunction class specialized on D should return its transformation
+ // Metafunction class specialized on D should return its transformation
// by D::fun_type = F
template<typename F>
@@ -31,11 +31,11 @@
};
template<
- typename D // Derives from interpreter_crtp
+ typename D // Derives from interpreter_crtp
>
struct replace_modifier_tag{
- // Metafunction class specialized on D should return its transformation
+ // Metafunction class specialized on D should return its transformation
// by D::modifier_tag = Tag
template<typename Tag>
Modified: sandbox/assign_v2/boost/assign/v2/option/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/option/modifier.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -85,7 +85,7 @@
template<typename C, typename F, typename Tag, typename D,
typename Keyword, typename Arg>
typename ::boost::mpl::apply2<
- result_of::option_modifier<D>, Keyword, Arg
+ result_of::option_modifier<D>, Keyword, Arg
>::type
operator%(
interpreter_crtp<C, F, Tag, D> const& lhs,
@@ -110,8 +110,8 @@
}// interpreter_aux
- /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD(NAME) unspecified/*<-*/)/*->*/
- /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG(NAME, Result) unspecified/*<-*/)/*->*/
+ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD(NAME) unspecified/*<-*/)/*->*/
+ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/#define BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG(NAME, Result) unspecified/*<-*/)/*->*/
//]
namespace result_of{
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/array.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -41,7 +41,7 @@
namespace nth_result_of{
template<
- array_size_type N
+ array_size_type N
, typename U // U& has to be a reference
>
struct array/*<-*/
@@ -61,27 +61,27 @@
}// result_of
- // Generates an empty array
+ // Generates an empty array
template<typename T>
typename result_of::array<T, keyword_aux::nil>::type
- array( keyword_aux::nil )
+ array( keyword_aux::nil )
/*<-*/
{
return ref::list<list_aux::array_tag>( v2::_nil );
}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
- // Generates a size one array
+ // Generates a size one array
template<typename T>
typename result_of::array<T>::type
- array(T& t)/*<-*/
+ array(T& t)/*<-*/
{
return array<T>( v2::_nil )( t );
}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
- // Generates a size one array
+ // Generates a size one array
template<typename T>
typename result_of::array<T const>::type
- array(T const & t)/*<-*/
+ array(T const & t)/*<-*/
{
return array<T const>( v2::_nil )( t );
}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/csv_array.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -35,7 +35,7 @@
namespace nth_result_of{
template<
- array_size_type N
+ array_size_type N
, typename U // U& has to be a reference
>
struct csv_array/*<-*/
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/get.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -33,7 +33,7 @@
namespace result_of{
template<
- typename R // Range of reference-wrappers
+ typename R // Range of reference-wrappers
>
struct transform_get/*<-*/{
Modified: sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/aux_/list/container.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -25,7 +25,7 @@
template<typename Tag, typename H, typename T>
class container :
- public tail_holder<T>, // (*) see holder/tail.hpp
+ public tail_holder<T>,
public head_holder<H>,
public ::boost::mpl::apply2<policy<Tag>, H, T>::type
{
@@ -47,7 +47,7 @@
typename boost::call_traits<T>::param_type t,
H h
):
- tail_( t ) // // tail_holder_( t ) // (*)
+ tail_holder_( t )
, head_holder_( h )
{}
@@ -65,16 +65,6 @@
return result_( *this, h );
}
- typedef typename tail_holder_::result_of_tail_type result_of_tail_type;
-
- // (*)
- result_of_tail_type
- tail()const{ return this->tail_; }
-
- private:
- typename boost::call_traits< // (*)
- typename tail_holder_::result_of_tail_type
- >::value_type tail_;
};
}// list_aux
Modified: sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/aux_/list/holder/tail.hpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -24,19 +24,17 @@
template<typename T>
struct tail_holder
{
-// (*) MSVC workaround : tail has to be variable, not a base class
-// http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/68d0361c-1813-4689-aaa3-b78f47eaf8ad
- //tail_holder(T const& t) : tail_( t ){}
- //result_of_tail_type tail()const{ return this->tail_; }
typedef T tail_type;
typedef ::boost::mpl::int_<T::static_size::value + 1> static_size;
-
typedef T const& result_of_tail_type;
- //private:
- //T const& tail_;
+ tail_holder(T const& t) : tail_( t ){}
+ result_of_tail_type tail()const{ return this->tail_; }
+
+ private:
+ T const tail_; // A reference would cause ref to temporary
};
template<>
Modified: sandbox/assign_v2/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/src/main.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/src/main.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -1,37 +1,35 @@
-/*
#include <string>
#include <iostream>
#include <boost/config.hpp>
#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
#include <boost/format.hpp>
-#include <boost/version.hpp>*/
+#include <boost/version.hpp>
// Test
#include <libs/assign/v2/test/chain.h>
#include <libs/assign/v2/test/conversion.h>
#include <libs/assign/v2/test/csv.h>
#include <libs/assign/v2/test/detail.h>
-//#include <libs/assign/v2/test/deque.h>
-//#include <libs/assign/v2/test/interpreter.h>
-//#include <libs/assign/v2/test/option.h>
-//#include <libs/assign/v2/test/pipe.h>
-//#include <libs/assign/v2/test/put.h>
-//#include <libs/assign/v2/test/ref.h>
+#include <libs/assign/v2/test/deque.h>
+#include <libs/assign/v2/test/interpreter.h>
+#include <libs/assign/v2/test/option.h>
+#include <libs/assign/v2/test/pipe.h>
+#include <libs/assign/v2/test/put.h>
+#include <libs/assign/v2/test/ref.h>
// Tutorial
-//#include <libs/assign/v2/tutorial.h>
+#include <libs/assign/v2/tutorial.h>
// Speed -- CPP0x required
//#include <fstream>
//#include <libs/assign/v2/speed/test.h>
-//#include <boost/assign/v2/include.hpp>
+#include <boost/assign/v2/include.hpp>
int main (int argc, char * const argv[])
{
// Do not put libs/assign/v2/test/unit_testing in this project
-/*
{
boost::format f( "boost version %1%.%2% %3% " );
f % (BOOST_VERSION / 100000 ) % ( (BOOST_VERSION / 100) % 1000) % (BOOST_VERSION % 100 );
@@ -64,21 +62,22 @@
std::cout << cpp0x.str() << std::endl;
}
-*/
{
-// using namespace test_assign_v2;
-// xxx_detail::test();
-// xxx_deque::test();
-// xxx_interpreter::test();
-// xxx_option::test();
-// xxx_pipe::test();
-// xxx_put::test();
-// xxx_ref::test();
-// xxx_utility::test();
+ using namespace test_assign_v2;
+ xxx_chain::test();
+ xxx_conversion::test();
+ xxx_csv::test();
+ xxx_detail::test();
+ xxx_deque::test();
+ xxx_interpreter::test();
+ xxx_option::test();
+ xxx_pipe::test();
+ xxx_put::test();
+ xxx_ref::test();
+ }
+ {
+ tutorial_assign_v2::run();
}
-// {
-// tutorial_assign_v2::run();
-// }
{
//using namespace speed_assign_v2;
//std::ofstream ofs("assign_v2_speed_test");
Modified: sandbox/assign_v2/libs/assign/v2/test/chain.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/chain.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/chain.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -19,7 +19,7 @@
#include <boost/assign/v2/deque/csv_deque.hpp>
#include <boost/assign/v2/chain/check.hpp>
#include <boost/assign/v2/chain.hpp>
-#include <boost/assign/v2/chain/operator_and.hpp>
+#include <boost/assign/v2/chain/logical_and.hpp>
#include <libs/assign/v2/test/chain.h>
namespace test_assign_v2{
@@ -38,7 +38,7 @@
}
// Non-Boost.Assign.v2 containers
{
- //[test_utility_chain_read
+ //[test_chain_read
typedef std::string T;
array<T, 2> head; head[0] = "A"; head[1] = "B";
std::list<T> tail; tail.push_back( "C" ); tail.push_back( "D" );
@@ -50,7 +50,7 @@
//]
}
{
- //[test_utility_chain_write
+ //[test_chain_write
typedef std::string word; std::vector<word> words( 6 );
words[0] = "foo"; words[1] = "bar"; words[2] = "baz";
words[3] = "qux"; words[4] = "quux"; words[5] = "grault";
@@ -63,7 +63,7 @@
}
// Boost.Assign.v2 containers
{
- //[test_utility_chain_write_refs
+ //[test_chain_write_refs
/*<< Needed to bring && into scope >>*/ using namespace assign::v2;
std::vector<int> consecutive8( 8 );
for(int i = 0; i < 8; i++){ consecutive8[i] = 1 + i; }
Modified: sandbox/assign_v2/libs/assign/v2/test/conversion.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/conversion.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/conversion.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -23,7 +23,7 @@
namespace xxx_conversion{
// suggested by JB:
- //[test_utility_conversion_f
+ //[test_conversion_f
template<typename C, typename R>
void f(C cont, R const& r){
namespace as2 = boost::assign::v2;
@@ -39,7 +39,7 @@
// External containers (fully qualified)
{
- //[test_utility_conversion_vec_array
+ //[test_conversion_vec_array
std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
typedef array<int, 3> ar_;
ar_ const& ar = ( r | as2::_convert<ar_>() );
@@ -48,7 +48,7 @@
//]
}
{
- //[test_utility_conversion_vec_stack
+ //[test_conversion_vec_stack
std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
std::stack<int> lifo = as2::converter( r );
@@ -56,7 +56,7 @@
//]
}
{
- //[test_utility_conversion_stl
+ //[test_conversion_stl
typedef int T; typedef std::vector<T> R; R r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
f< std::vector<T> >( as2::converter( r ), r );
f< std::deque<T> >( as2::converter( r ), r );
@@ -66,7 +66,7 @@
//]
}
{
- //[test_utility_conversion_matrix3x3
+ //[test_conversion_matrix3x3
const int sz = 3; typedef array<int, sz> row_;
array<row_, sz> matrix3x3 = converter(
as2::ref::array
@@ -83,7 +83,7 @@
}
// Boost.Assign.2.0 containers - name lookup
{
- //[test_utility_conversion_as2_deque_array
+ //[test_conversion_as2_deque_array
std::vector<int> r( 3 ); r[0] = 72; r[1] = 31; r[2] = 48;
typedef array<int, 3> ar_;
ar_ const& ar = ( as2::csv_deque( 72, 31, 48 ) | as2::_convert<ar_>() );
@@ -92,21 +92,21 @@
//]
}
{
- //[test_utility_conversion_ref_array_stack
+ //[test_conversion_ref_array_stack
std::stack<int> lifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::ref::array( 72 )( 31 )( 48 ) );
BOOST_ASSIGN_V2_CHECK( lifo.top() == 48 );
//]
}
{
- //[test_utility_conversion_ref_array_queue
+ //[test_conversion_ref_array_queue
std::queue<int> fifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::ref::csv_array( 72, 31, 48 ) );
BOOST_ASSIGN_V2_CHECK( fifo.front() == 72 );
//]
}
{
- //[test_utility_conversion_as2_deque_stack
+ //[test_conversion_as2_deque_stack
std::stack<int> lifo = /*<<Notice unqualified (name lookup)>>*/converter( as2::csv_deque( 72, 31, 48 ) );
BOOST_ASSIGN_V2_CHECK( lifo.top() == 48 );
Modified: sandbox/assign_v2/libs/assign/v2/test/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/csv.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -24,7 +24,7 @@
using namespace boost;
namespace as2 = assign::v2;
{
- //[test_utility_csv_put
+ //[test_csv_put
std::deque<int> cont;
as2::csv( as2::put( cont ), 72, 31, 48 );
@@ -32,7 +32,7 @@
//]
}
{
- //[test_utility_csv_put_modulo
+ //[test_csv_put_modulo
std::deque<int> cont;
as2::csv( as2::put( cont ) % as2::_push_front, 72, 31, 48 );
@@ -40,7 +40,7 @@
//]
}
{
- //[test_utility_csv_deque_modulo
+ //[test_csv_deque_modulo
BOOST_AUTO(
cont,
as2::csv( as2::deque<int>( as2::_nil ) % as2::_push_front, 72, 31, 48 )
Modified: sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/get.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -22,17 +22,17 @@
void test()
{
- //[test_ref_get
+ //[test_ref_get
namespace as2 = boost::assign::v2;
typedef int T; typedef as2::ref::copy_wrapper<T>::type w_;
boost::array<w_, 3> ref_array; int x, y, z;
boost::copy(
- as2::csv_deque( w_( x ), w_( y ), w_( z ) ),
+ as2::csv_deque( w_( x ), w_( y ), w_( z ) ),
boost::begin( ref_array )
);
boost::copy(
- as2::csv_deque( 314, 3141, 31415 ),
+ as2::csv_deque( 314, 3141, 31415 ),
boost::begin( ref_array | as2::ref::_get )
);
Modified: sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/ref/wrapper.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -37,7 +37,7 @@
}
#if BOOST_ASSIGN_V2_ENABLE_CPP0X
{
- //[test_ref_wrapper
+ //[test_ref_wrapper
typedef val_ const cval_;
typedef as2::ref::wrapper_param<val_>::type param_;
BOOST_MPL_ASSERT(( boost::is_same<param_, cval_> ));
Modified: sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 (original)
+++ sandbox/assign_v2/libs/assign/v2/test/unit_testing/Jamfile.v2 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -21,12 +21,11 @@
[ assign-test csv ]
[ assign-test deque ]
[ assign-test detail ]
- [ assign-test framework ]
- [ assign-test optional ]
+ [ assign-test interpreter ]
+ [ assign-test option ]
[ assign-test pipe ]
[ assign-test put ]
[ assign-test ref ]
- [ assign-test utility ]
;
Modified: sandbox/assign_v2/libs/assign/v2/tutorial.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/tutorial.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/tutorial.cpp 2011-03-24 16:51:41 EDT (Thu, 24 Mar 2011)
@@ -79,7 +79,9 @@
array<int, 5> consecutive5; int six, seven, eight;
boost::copy(
consecutive8,
- boost::begin( consecutive5 | _chain( ref::csv_array( six, seven, eight ) | ref::_get ) )
+ boost::begin(
+ consecutive5 | _chain( ref::csv_array( six, seven, eight ) | ref::_get )
+ )
);
assert( range::equal( consecutive5, csv_deque(1, 2, 3, 4, 5) ) );
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk