$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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