|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69808 - in sandbox/assign_v2/boost/assign/v2/ref/list_tuple: . cpp03
From: erwann.rogard_at_[hidden]
Date: 2011-03-09 16:55:55
Author: e_r
Date: 2011-03-09 16:55:54 EST (Wed, 09 Mar 2011)
New Revision: 69808
URL: http://svn.boost.org/trac/boost/changeset/69808
Log:
upd assign_v2
Text files modified:
sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp | 1
sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp | 82 -------------------------------------
sandbox/assign_v2/boost/assign/v2/ref/list_tuple/list_tuple.hpp | 86 ++++++++++++++++++++++++++++++++++++++++
sandbox/assign_v2/boost/assign/v2/ref/list_tuple/nth_result_of.hpp | 62 ----------------------------
4 files changed, 88 insertions(+), 143 deletions(-)
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp 2011-03-09 16:55:54 EST (Wed, 09 Mar 2011)
@@ -11,7 +11,6 @@
#define BOOST_ASSIGN_V2_REF_LIST_TUPLE_CPP03_CONTAINER_ER_2010_HPP
#include <boost/assign/v2/detail/config/limit_arity.hpp>
#include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp>
-#include <boost/assign/v2/ref/list_tuple/size_type.hpp>
#include <boost/config.hpp>
#include <boost/mpl/aux_/na.hpp>
#include <boost/mpl/empty_base.hpp>
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp 2011-03-09 16:55:54 EST (Wed, 09 Mar 2011)
@@ -1,81 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_LIST_TUPLE_EXTRACTION_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_LIST_TUPLE_EXTRACTION_ER_2010_HPP
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace list_tuple_aux{
-
- template<list_size_type N,
- typename L, typename T, typename D>
- class extraction
- {
- typedef D const& result_of_derived_;
- result_of_derived_ derived()const
- {
- return static_cast<
- result_of_derived_
- >( *this );
- }
-
- public:
-
- template<list_size_type I>
- struct is_head : ::boost::mpl::bool_< I + 1 == N >{};
-
- template<list_size_type I>
- struct link_get_result : L::template get_result<I>{};
-
- template<list_size_type I>
- struct get_result : ::boost::mpl::eval_if<
- is_head<I>,
- ::boost::mpl::identity<
- T const&
- >,
- link_get_result<I>
- >{};
-
- template<list_size_type I>
- typename boost::lazy_enable_if<
- is_head<I>,
- get_result<I>
- >::type
- get(boost::mpl::int_<I> index)const
- {
- return this->derived().get_tuple();
- }
-
- template<list_size_type I>
- typename boost::lazy_disable_if<
- is_head<I>,
- get_result<I>
- >::type
- get( ::boost::mpl::int_<I> index )const
- {
- return this->derived().get_link().unlink.get( index );
- }
-
- };
-
-}// list_tuple_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_REF_LIST_TUPLE_EXTRACTION_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/list_tuple.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/list_tuple.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/list_tuple.hpp 2011-03-09 16:55:54 EST (Wed, 09 Mar 2011)
@@ -9,6 +9,11 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_REF_LIST_TUPLE_LIST_TUPLE_ER_2010_HPP
#define BOOST_ASSIGN_V2_REF_LIST_TUPLE_LIST_TUPLE_ER_2010_HPP
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost{
namespace assign{
@@ -30,6 +35,57 @@
T const& unlink;
};
+ template<list_size_type N,
+ typename L, typename T, typename D>
+ class extraction
+ {
+ typedef D const& result_of_derived_;
+ result_of_derived_ derived()const
+ {
+ return static_cast<
+ result_of_derived_
+ >( *this );
+ }
+
+ public:
+
+ template<list_size_type I>
+ struct is_head : ::boost::mpl::bool_< I + 1 == N >{};
+
+ template<list_size_type I>
+ struct link_get_result : L::template get_result<I>{};
+
+ template<list_size_type I>
+ struct get_result : ::boost::mpl::eval_if<
+ is_head<I>,
+ ::boost::mpl::identity<
+ T const&
+ >,
+ link_get_result<I>
+ >{};
+
+ template<list_size_type I>
+ typename boost::lazy_enable_if<
+ is_head<I>,
+ get_result<I>
+ >::type
+ get(boost::mpl::int_<I> index)const
+ {
+ return this->derived().get_tuple();
+ }
+
+ template<list_size_type I>
+ typename boost::lazy_disable_if<
+ is_head<I>,
+ get_result<I>
+ >::type
+ get( ::boost::mpl::int_<I> index )const
+ {
+ return this->derived().get_link().unlink.get( index );
+ }
+
+ };
+
}// list_tuple_aux
}// ref
}// v2
@@ -44,10 +100,40 @@
#include <boost/assign/v2/ref/list_tuple/cpp03/container.hpp>
#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/unpack_args.hpp>
+
namespace boost{
namespace assign{
namespace v2{
namespace ref{
+namespace nth_result_of{
+
+ class list_tuple
+ {
+ typedef list_tuple_aux::root root_;
+ typedef list_tuple_aux::container<0, root_> state_;
+
+ struct forward_op{
+
+ template<typename NewState, typename ArgList>
+ struct apply{
+ typedef list_tuple_aux::result<NewState> meta_;
+ typedef ::boost::mpl::unpack_args< meta_ > g_;
+ typedef typename ::boost::mpl::apply1<g_, ArgList>::type type;
+ };
+
+ };
+
+ public:
+
+ template<typename ArgsList>
+ struct apply : ::boost::mpl::fold<ArgsList, state_, forward_op>{};
+
+ };
+
+}// nth_result_of
namespace result_of{
typedef list_tuple_aux::container<0, list_tuple_aux::root> list_tuple;
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/nth_result_of.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/nth_result_of.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/nth_result_of.hpp 2011-03-09 16:55:54 EST (Wed, 09 Mar 2011)
@@ -1,61 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_LIST_TUPLE_NTH_RESULT_OF_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_LIST_TUPLE_NTH_RESULT_OF_ER_2010_HPP
-#include <boost/assign/v2/ref/list_tuple/container.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/unpack_args.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace nth_result_of{
-
- class list_tuple
- {
- typedef list_tuple_aux::root root_;
- typedef list_tuple_aux::container<0, root_> state_;
-
- struct forward_op{
-
- template<typename NewState, typename Vec>
- struct apply{
- typedef list_tuple_aux::result<NewState> meta_;
- typedef ::boost::mpl::unpack_args< meta_ > g_;
- typedef typename ::boost::mpl::apply1<
- g_,
- Vec
- >::type type;
- };
-
- };
-
- public:
-
- template<typename VecTypes>
- struct apply : ::boost::mpl::fold<
- VecTypes,
- state_,
- forward_op
- >{};
-
- };
-
-}// nth_result_of
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_REF_LIST_TUPLE_NTH_RESULT_OF_ER_2010_HPP
-
-
+// TODO remove file
\ No newline at end of file
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