|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69928 - sandbox/assign_v2/boost/assign/v2/put/modifier/standard
From: erwann.rogard_at_[hidden]
Date: 2011-03-13 09:58:39
Author: e_r
Date: 2011-03-13 09:58:31 EDT (Sun, 13 Mar 2011)
New Revision: 69928
URL: http://svn.boost.org/trac/boost/changeset/69928
Log:
upd assign_v2
Added:
sandbox/assign_v2/boost/assign/v2/put/modifier/standard/
sandbox/assign_v2/boost/assign/v2/put/modifier/standard/include.hpp (contents, props changed)
sandbox/assign_v2/boost/assign/v2/put/modifier/standard/modifier.hpp (contents, props changed)
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/standard/include.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/standard/include.hpp 2011-03-13 09:58:31 EDT (Sun, 13 Mar 2011)
@@ -0,0 +1,17 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_PUT_MODIFIER_STANDARD_INCLUDE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_INCLUDE_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/insert.hpp>
+#include <boost/assign/v2/put/modifier/push.hpp>
+#include <boost/assign/v2/put/modifier/push_back.hpp>
+#include <boost/assign/v2/put/modifier/push_front.hpp>
+
+#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_INCLUDE_ER_2010_HPP
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/standard/modifier.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/standard/modifier.hpp 2011-03-13 09:58:31 EDT (Sun, 13 Mar 2011)
@@ -0,0 +1,98 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_PUT_MODIFIER_STANDARD_MODIFIER_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_MODIFIER_ER_2010_HPP
+#include <boost/assign/v2/detail/keyword/ignore.hpp>
+#include <boost/assign/v2/put/adapter/modifier.hpp>
+#include <boost/assign/v2/put/modifier/modulo.hpp>
+#include <boost/preprocessor/cat.hpp>
+
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_PTR(FUN)\
+ template<typename C, typename T>\
+ void impl(C& cont, T* t)const{\
+ cont.FUN( t );\
+}\
+/**/
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
+ template<typename C, typename T>\
+ void impl(C& cont, T& t)const{\
+ cont.FUN( t );\
+}\
+/**/
+
+#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <utility>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_reference.hpp>
+// disable_if necessary to avoid ambiguity resolution with GCC4.4
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_RVALUE(FUN)\
+ template<typename C, typename T>\
+ typename boost::disable_if<\
+ boost::is_reference<T>,\
+ void\
+ >::type\
+ impl(C& cont, T&& t)const{\
+ cont.FUN( std::move( t ) );\
+ }\
+/**/
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_RVALUE(FUN)\
+/**/
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
+/**/
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(FUN)\
+namespace boost{\
+namespace assign{\
+namespace v2{\
+namespace modifier_tag{ struct FUN{}; }\
+}\
+}\
+}\
+/**/
+
+// Must be preceded by BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(FUN)
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(FUN)\
+namespace boost{\
+namespace assign{\
+namespace v2{\
+namespace put_aux{\
+\
+ template<>\
+ class adapter_modifier<modifier_tag::FUN>\
+ {\
+ typedef keyword_aux::ignore ignore_;\
+ public:\
+ adapter_modifier(){}\
+ adapter_modifier( ignore_, ignore_ ){}\
+ BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
+ };\
+\
+}\
+namespace{\
+\
+ put_aux::modulo_modifier<put_aux::keyword_standard_modifier, modifier_tag::FUN> const\
+ BOOST_PP_CAT(_,FUN) = ( \
+ _standard_modifier = modifier_tag::FUN() \
+ );\
+\
+}\
+}\
+}\
+}\
+/**/
+
+
+#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_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