$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r63443 - trunk/boost/spirit/home/karma/detail
From: hartmut.kaiser_at_[hidden]
Date: 2010-06-29 20:32:44
Author: hkaiser
Date: 2010-06-29 20:32:42 EDT (Tue, 29 Jun 2010)
New Revision: 63443
URL: http://svn.boost.org/trac/boost/changeset/63443
Log:
Spirit: fixing ambiguity in Karma auto_ API
Text files modified: 
   trunk/boost/spirit/home/karma/detail/generate_auto.hpp |    14 ++++++++++++--                          
   1 files changed, 12 insertions(+), 2 deletions(-)
Modified: trunk/boost/spirit/home/karma/detail/generate_auto.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/detail/generate_auto.hpp	(original)
+++ trunk/boost/spirit/home/karma/detail/generate_auto.hpp	2010-06-29 20:32:42 EDT (Tue, 29 Jun 2010)
@@ -13,13 +13,19 @@
 #include <boost/spirit/home/karma/generate.hpp>
 #include <boost/spirit/home/karma/auto/create_generator.hpp>
 #include <boost/utility/enable_if.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/and.hpp>
 
 namespace boost { namespace spirit { namespace karma { namespace detail
 {
     ///////////////////////////////////////////////////////////////////////////
     template <typename Expr>
     struct generate_impl<Expr
-      , typename enable_if<traits::meta_create_exists<karma::domain, Expr> >::type>
+      , typename enable_if<
+            mpl::and_<
+                traits::meta_create_exists<karma::domain, Expr>
+              , mpl::not_<traits::matches<karma::domain, Expr> > >
+        >::type>
     {
         template <typename OutputIterator>
         static bool call(
@@ -33,7 +39,11 @@
     ///////////////////////////////////////////////////////////////////////////
     template <typename Expr>
     struct generate_delimited_impl<Expr
-      , typename enable_if<traits::meta_create_exists<karma::domain, Expr> >::type>
+      , typename enable_if<
+            mpl::and_<
+                traits::meta_create_exists<karma::domain, Expr>
+              , mpl::not_<traits::matches<karma::domain, Expr> > >
+        >::type>
     {
         template <typename OutputIterator, typename Delimiter>
         static bool call(