Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69645 - in sandbox/assign_v2/boost/assign/v2/detail: functor keyword pp
From: erwann.rogard_at_[hidden]
Date: 2011-03-07 20:24:44


Author: e_r
Date: 2011-03-07 20:24:41 EST (Mon, 07 Mar 2011)
New Revision: 69645
URL: http://svn.boost.org/trac/boost/changeset/69645

Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/detail/functor/post_increment.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/keyword/ignore.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp (contents, props changed)

Added: sandbox/assign_v2/boost/assign/v2/detail/functor/post_increment.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/post_increment.hpp 2011-03-07 20:24:41 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,44 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2010 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ASSIGN_V2_DETAIL_FUNCTOR_POST_INCREMENT_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_FUNCTOR_POST_INCREMENT_ER_2010_HPP
+#include <cstddef>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace functor_aux{
+
+ template<typename T = std::size_t>
+ struct post_increment
+ {
+ typedef T result_type;
+
+ post_increment():i_(0){}
+ post_increment(T i):i_( i ){}
+
+ result_type operator()(const T& i)const{ return this->i++; }
+ result_type operator()()const{ return this->i_++; }
+
+ protected:
+
+ mutable result_type i_;
+ };
+
+}// functor_aux
+namespace{
+ functor_aux::post_increment<> const _post_increment
+ = functor_aux::post_increment<>();
+}
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/keyword/ignore.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/keyword/ignore.hpp 2011-03-07 20:24:41 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,32 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2010 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ASSIGN_V2_DETAIL_KEYWORD_IGNORE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_KEYWORD_IGNORE_ER_2010_HPP
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace keyword_aux{
+
+ struct ignore{
+ ignore(){}
+ template<typename Anything> ignore(Anything){}
+ };
+
+
+}// keyword_aux
+namespace{
+ const keyword_aux::ignore _ignore = keyword_aux::ignore();
+}
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp 2011-03-07 20:24:41 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////
+// 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_PAREMETER_LIST_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PAREMETER_LIST_ER_2010_HPP
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/comma_if.hpp>
+#include <boost/preprocessor/repetition.hpp>
+#include <boost/preprocessor/seq.hpp>
+#define BOOST_ASSIGN_V2_BOOST_ASSIGN_V2_PARAMETER_LIST_iter(r, data, i, U) \
+ BOOST_PP_COMMA_IF(i) \
+ U & \
+ BOOST_PP_CAT(data, i) \
+/**/
+#define BOOST_ASSIGN_V2_PARAMETER_LIST(SeqU, data) \
+ BOOST_PP_SEQ_FOR_EACH_I(BOOST_ASSIGN_V2_BOOST_ASSIGN_V2_PARAMETER_LIST_iter, data, SeqU) \
+/**/
+#define BOOST_ASSIGN_V2_ARG_LIST(SeqU, data) \
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(SeqU), data)
+/**/
+
+#define BOOST_ASSIGN_V2_TPL_PARAMETER_LIST(SeqU) BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(SeqU), typename T)
+#define BOOST_ASSIGN_V2_TPL_ARG_LIST(SeqU) BOOST_PP_SEQ_ENUM(SeqU)
+
+#include <boost/preprocessor/tuple/to_seq.hpp>
+#define BOOST_ASSIGN_V2_PARAMETER_LIST_SIZE 10
+#define BOOST_ASSIGN_V2_SEQ_TPL_BINARY_ARG_LIST BOOST_PP_TUPLE_TO_SEQ(BOOST_ASSIGN_V2_PARAMETER_LIST_SIZE,((T0 const)(T0),(T1 const)(T1),(T2 const)(T2),(T3 const)(T3),(T4 const)(T4),(T5 const)(T5),(T6 const)(T6),(T7 const)(T7),(T8 const)(T8),(T9 const)(T9)))
+
+#endif // BOOST_ASSIGN_V2_PAREMETER_LIST_ER_2010_HPP


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