$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r77995 - in sandbox/coerce/boost/coerce: . detail
From: vexocide_at_[hidden]
Date: 2012-04-15 09:02:37
Author: vexocide
Date: 2012-04-15 09:02:36 EDT (Sun, 15 Apr 2012)
New Revision: 77995
URL: http://svn.boost.org/trac/boost/changeset/77995
Log:
Added a missing include and removed is_tag in favour of disambiguation using is_convertible
Removed:
   sandbox/coerce/boost/coerce/detail/tag.hpp
Text files modified: 
   sandbox/coerce/boost/coerce/coerce.hpp        |     4 ++--                                    
   sandbox/coerce/boost/coerce/detail/karma.hpp  |     1 +                                       
   sandbox/coerce/boost/coerce/detail/spirit.hpp |     8 ++++----                                
   3 files changed, 7 insertions(+), 6 deletions(-)
Modified: sandbox/coerce/boost/coerce/coerce.hpp
==============================================================================
--- sandbox/coerce/boost/coerce/coerce.hpp	(original)
+++ sandbox/coerce/boost/coerce/coerce.hpp	2012-04-15 09:02:36 EDT (Sun, 15 Apr 2012)
@@ -12,11 +12,11 @@
 #endif
 
 #include <boost/coerce/detail/spirit.hpp>
-#include <boost/coerce/detail/tag.hpp>
 #include <boost/coerce/string.hpp>
 #include <boost/coerce/tag.hpp>
 
 #include <boost/throw_exception.hpp>
+#include <boost/type_traits/is_convertible.hpp>
 #include <boost/utility/enable_if.hpp>
 
 #include <typeinfo>  // for std::bad_cast
@@ -66,7 +66,7 @@
     }
 
     template <typename Target, typename Source, typename Tag>
-    inline typename enable_if<detail::is_tag<Tag>, Target>::type
+    inline typename disable_if<is_convertible<Tag, Target>, Target>::type
     as_default(
         Source const & source,
         Tag const & tag,
Modified: sandbox/coerce/boost/coerce/detail/karma.hpp
==============================================================================
--- sandbox/coerce/boost/coerce/detail/karma.hpp	(original)
+++ sandbox/coerce/boost/coerce/detail/karma.hpp	2012-04-15 09:02:36 EDT (Sun, 15 Apr 2012)
@@ -19,6 +19,7 @@
 #include <boost/spirit/home/karma/generate.hpp>
 #include <boost/spirit/home/karma/numeric.hpp>
 #include <boost/spirit/home/karma/operator/optional.hpp>
+#include <boost/spirit/home/karma/string/lit.hpp>
 
 namespace boost { namespace coerce { namespace detail {
 
Modified: sandbox/coerce/boost/coerce/detail/spirit.hpp
==============================================================================
--- sandbox/coerce/boost/coerce/detail/spirit.hpp	(original)
+++ sandbox/coerce/boost/coerce/detail/spirit.hpp	2012-04-15 09:02:36 EDT (Sun, 15 Apr 2012)
@@ -19,9 +19,9 @@
 
 namespace boost { namespace coerce { namespace detail {
 
-    template <typename U, typename V>
+    template <typename T, typename U>
     struct spirit {
-        BOOST_STATIC_ASSERT(sizeof(U) == 0);
+        BOOST_STATIC_ASSERT(sizeof(T) == 0);
     };
 
     template <>
@@ -29,8 +29,8 @@
         typedef qi type;
     };
 
-    template <typename U>
-    struct spirit<U, mpl::true_> {
+    template <typename T>
+    struct spirit<T, mpl::true_> {
         typedef karma type;
     };
 
Deleted: sandbox/coerce/boost/coerce/detail/tag.hpp
==============================================================================
--- sandbox/coerce/boost/coerce/detail/tag.hpp	2012-04-15 09:02:36 EDT (Sun, 15 Apr 2012)
+++ (empty file)
@@ -1,31 +0,0 @@
-//              Copyright Jeroen Habraken 2011.
-//
-// Distributed under 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_COERCE_DETAIL_TAG_HPP
-#define BOOST_COERCE_DETAIL_TAG_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost { namespace coerce { namespace detail {
-
-    BOOST_MPL_HAS_XXX_TEMPLATE_DEF(parser)
-    BOOST_MPL_HAS_XXX_TEMPLATE_DEF(generator)
-
-    template <typename T>
-    struct is_tag
-        : mpl::or_<
-            has_parser<T>,
-            has_generator<T>
-        > { };
-
-} } }  // namespace boost::coerce::detail
-
-#endif  // BOOST_COERCE_DETAIL_TAG_HPP