Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69459 - sandbox/assign_v2/boost/assign/v2/utility/convert
From: erwann.rogard_at_[hidden]
Date: 2011-03-01 21:18:30


Author: e_r
Date: 2011-03-01 21:18:28 EST (Tue, 01 Mar 2011)
New Revision: 69459
URL: http://svn.boost.org/trac/boost/changeset/69459

Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/utility/convert/deduce_tag.hpp (contents, props changed)

Added: sandbox/assign_v2/boost/assign/v2/utility/convert/deduce_tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/utility/convert/deduce_tag.hpp 2011-03-01 21:18:28 EST (Tue, 01 Mar 2011)
@@ -0,0 +1,58 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CONVERT_DEDUCE_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_CONVERT_DEDUCE_TAG_ER_2010_HPP
+#include <boost/mpl/pair.hpp>
+#include <boost/assign/v2/detail/traits/switch.hpp>
+#include <boost/assign/v2/utility/convert/helper.hpp>
+#include <boost/assign/v2/utility/convert/predicate.hpp>
+
+namespace boost{
+ struct use_default;
+namespace assign{
+namespace v2{
+namespace convert_tag{
+
+ struct put{};
+ struct copy{};
+
+}// convert_tag
+namespace switch_tag{
+ struct deduce_convert{};
+}// switch_tag
+namespace switch_aux{
+
+ template<>
+ struct case_<switch_tag::deduce_convert, 0> :
+ convert_aux::helper<
+ v2::convert_tag::put,
+ v2::convert_aux::use_put
+ >{};
+
+ template<>
+ struct case_<switch_tag::deduce_convert, 1> :
+ convert_aux::helper<v2::convert_tag::copy>{};
+
+}// switch_aux
+namespace convert_aux{
+
+ template<typename C, typename R>
+ struct deduce_tag : v2::switch_aux::result<
+ v2::switch_tag::deduce_convert,
+ boost::mpl::pair<C, R>
+ >
+ {};
+
+}// convert_aux
+}// v2
+}// assign
+}// boost
+
+#endif


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