Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72451 - in sandbox/assign_v2/boost/assign/v2/put: cpp03 csv_put
From: erwann.rogard_at_[hidden]
Date: 2011-06-06 21:28:28


Author: e_r
Date: 2011-06-06 21:28:27 EDT (Mon, 06 Jun 2011)
New Revision: 72451
URL: http://svn.boost.org/trac/boost/changeset/72451

Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_basic.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_ext.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/csv_put/
   sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_basic.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_ext.hpp (contents, props changed)

Added: sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_basic.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_basic.hpp 2011-06-06 21:28:27 EDT (Mon, 06 Jun 2011)
@@ -0,0 +1,61 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2011 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_PUT_CPP03_CSV_PUT_BASIC_ER_2011_HPP
+#define BOOST_ASSIGN_V2_PUT_CPP03_CSV_PUT_BASIC_ER_2011_HPP
+#include <boost/assign/v2/interpreter/csv/csv_basic.hpp>
+#include <boost/assign/v2/put/put.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace interpreter_aux{
+
+#define BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD_UNARY(z, N, is_const)\
+ template<typename Options, typename C BOOST_PP_ENUM_TRAILING_PARAMS(N, typename T)>\
+ void csv_put(\
+ C& cont\
+ BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, T, BOOST_PP_EXPR_IF(is_const, const)& _)\
+ )\
+ {\
+ csv(\
+ put<Options, C>( cont )\
+ BOOST_PP_ENUM_TRAILING_PARAMS(N, _)\
+ );\
+ }\
+ template<typename C BOOST_PP_ENUM_TRAILING_PARAMS(N, typename T)>\
+ void csv_put(\
+ C& cont\
+ BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, T, BOOST_PP_EXPR_IF(is_const, const)& _)\
+ )\
+ {\
+ csv( put( cont ) BOOST_PP_ENUM_TRAILING_PARAMS(N, _) );\
+ }\
+/**/
+BOOST_PP_REPEAT_FROM_TO(
+ 1,
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_CSV_ARITY),
+ BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD_UNARY,
+ 0
+)
+BOOST_PP_REPEAT_FROM_TO(
+ 1,
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_CSV_ARITY),
+ BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD_UNARY,
+ 1
+)
+#undef BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD_UNARY
+
+}// interpreter_aux
+using interpreter_aux::csv_put;
+}// v2
+}// assign
+}// boost
+
+#endif // BOOST_ASSIGN_V2_PUT_CPP03_CSV_PUT_BASIC_ER_2011_HPP

Added: sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_ext.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/cpp03/csv_put_ext.hpp 2011-06-06 21:28:27 EDT (Mon, 06 Jun 2011)
@@ -0,0 +1,117 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2011 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_PUT_CPP03_CSV_PUT_EXT_ER_2011_HPP
+#define BOOST_ASSIGN_V2_PUT_CPP03_CSV_PUT_EXT_ER_2011_HPP
+#include <boost/assign/v2/interpreter/csv/csv_ext.hpp>
+#include <boost/assign/v2/put/put.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace interpreter_aux{
+
+#define BOOST_ASSIGN_V2_CSV_PUT_NESTED_ITER(z, N, SeqU)\
+ template<\
+ int I, BOOST_ASSIGN_V2_TPL_PARAMETER_LIST(SeqU)\
+ , typename C\
+ >\
+ typename boost::enable_if_c<I == BOOST_PP_SEQ_SIZE(SeqU)>::type\
+ csv_put\
+ (\
+ C& cont,\
+ BOOST_ASSIGN_V2_CSV_PARAMETER_LIST(SeqU, N)\
+ )\
+ {\
+ csv<I, BOOST_PP_SEQ_ENUM(SeqU)>(\
+ put( cont )\
+ BOOST_PP_ENUM_TRAILING_PARAMS(\
+ BOOST_PP_MUL( N, BOOST_PP_SEQ_SIZE(SeqU) ),\
+ _\
+ )\
+ );\
+ }\
+ template<\
+ typename Options,\
+ int I, BOOST_ASSIGN_V2_TPL_PARAMETER_LIST(SeqU)\
+ , typename C\
+ >\
+ typename boost::enable_if_c<I == BOOST_PP_SEQ_SIZE(SeqU)>::type\
+ csv_put\
+ (\
+ C& cont,\
+ BOOST_ASSIGN_V2_CSV_PARAMETER_LIST(SeqU, N)\
+ )\
+ {\
+ csv<I, BOOST_PP_SEQ_ENUM(SeqU)>(\
+ put( cont ) % Options()\
+ BOOST_PP_ENUM_TRAILING_PARAMS(\
+ BOOST_PP_MUL( N, BOOST_PP_SEQ_SIZE(SeqU) ),\
+ _\
+ )\
+ );\
+ }\
+/**/
+
+#define BOOST_ASSIGN_V2_CSV_PUT_ITER(r, SeqU)\
+ BOOST_PP_REPEAT_FROM_TO(\
+ 1,\
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_CSV_ARITY),\
+ BOOST_ASSIGN_V2_CSV_PUT_NESTED_ITER,\
+ SeqU\
+ )\
+/**/
+
+#define BOOST_ASSIGN_V2_CSV_PUT_CONST_NON_CONST_OVERLOAD(z, I, data)\
+ BOOST_PP_SEQ_FOR_EACH_PRODUCT(\
+ BOOST_ASSIGN_V2_CSV_PUT_ITER,\
+ BOOST_ASSIGN_V2_CSV_SEQ1(I)\
+ )\
+/**/
+
+#define BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD(z, I, pos)\
+ BOOST_ASSIGN_V2_CSV_PUT_ITER(\
+ ~,\
+ BOOST_ASSIGN_V2_CSV_SEQ2(pos, I)\
+ )\
+/**/
+
+BOOST_PP_REPEAT_FROM_TO(
+ 1,
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_FUNCTOR_CONST_NON_CONST_ARITY),
+ BOOST_ASSIGN_V2_CSV_PUT_CONST_NON_CONST_OVERLOAD,
+ ~
+)
+
+BOOST_PP_REPEAT_FROM_TO(
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_FUNCTOR_CONST_NON_CONST_ARITY),
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY),
+ BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD,
+ 0
+)
+
+BOOST_PP_REPEAT_FROM_TO(
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_FUNCTOR_CONST_NON_CONST_ARITY),
+ BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY),
+ BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD,
+ 1
+)
+
+#undef BOOST_ASSIGN_V2_CSV_PUT_NESTED_ITER
+#undef BOOST_ASSIGN_V2_CSV_PUT_ITER
+#undef BOOST_ASSIGN_V2_CSV_PUT_CONST_NON_CONST_OVERLOAD
+#undef BOOST_ASSIGN_V2_CSV_PUT_OVERLOAD
+
+}// interpreter_aux
+using interpreter_aux::csv_put;
+}// v2
+}// assign
+}// boost
+
+#endif // BOOST_ASSIGN_V2_PUT_CPP03_CSV_PUT_EXT_ER_2011_HPP

Added: sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_basic.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_basic.hpp 2011-06-06 21:28:27 EDT (Mon, 06 Jun 2011)
@@ -0,0 +1,70 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2011 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_PUT_CSV_PUT_BASIC_ER_2011_HPP
+#define BOOST_ASSIGN_V2_PUT_CSV_PUT_BASIC_ER_2011_HPP
+#include <boost/assign/v2/interpreter/csv/csv_basic.hpp>
+#include <boost/assign/v2/option/data.hpp>
+#include <boost/assign/v2/put/put.hpp>
+#include <boost/assign/v2/support/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <boost/assign/v2/support/pp/ignore.hpp>
+#include <utility>
+#endif
+
+namespace boost{
+namespace assign{
+namespace v2{
+//[syntax_csv_put_basic
+namespace interpreter_aux{
+//<-
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+
+ template<typename C, typename... Args>
+ void csv_put(C& cont, Args&&... args)/*<-*/
+ {
+ csv(
+ put( cont ),
+ std::forward<Args>( args )...
+ );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ template<typename Options, typename C, typename... Args>
+ void csv_put(C& cont, Args&&... args)/*<-*/
+ {
+ csv(
+ put<Options, C>( cont ),
+ std::forward<Args>( args )...
+ );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+//<-
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+
+}// interpreter_aux
+//<-
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+ using interpreter_aux::csv_put;
+//<-
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+//]
+
+}// v2
+}// assign
+}// boost
+
+#if !BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <boost/assign/v2/put/cpp03/csv_put_basic.hpp>
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
+#endif // BOOST_ASSIGN_V2_PUT_CSV_PUT_BASIC_ER_2011_HPP

Added: sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_ext.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/csv_put/csv_put_ext.hpp 2011-06-06 21:28:27 EDT (Mon, 06 Jun 2011)
@@ -0,0 +1,65 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2011 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_PUT_CSV_PUT_EXT_ER_2011_HPP
+#define BOOST_ASSIGN_V2_PUT_CSV_PUT_EXT_ER_2011_HPP
+#include <boost/assign/v2/interpreter/csv/csv_ext.hpp>
+#include <boost/assign/v2/support/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <utility>
+#endif
+
+namespace boost{
+namespace assign{
+namespace v2{
+//[syntax_csv_put_ext
+namespace interpreter_aux{
+//<-
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+
+ template<int I, typename ...Cast, typename C, typename... Args>
+ void csv_put(C& cont, Args&&... args)/*<-*/
+ {
+ csv<I, Cast...>(
+ put( cont ),
+ std::forward<Args>( args )...
+ );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ // Default constructible options
+
+ template<typename Options,
+ int I, typename ...Cast, typename C, typename... Args>
+ void csv_put(C& cont, Args&&... args)/*<-*/
+ {
+ csv<I, Cast...>(
+ put( cont ) % Options(),
+ std::forward<Args>( args )...
+ );
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
+//<-
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+
+}// interpreter_aux
+
+using interpreter_aux::csv_put;
+//]
+
+}// v2
+}// assign
+}// boost
+
+#if! BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <boost/assign/v2/put/cpp03/csv_put_ext.hpp>
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
+#endif // BOOST_ASSIGN_V2_PUT_CSV_PUT_EXT_ER_2011_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