File boost-fix-spirit-attr-handling.patch of Package boost

Index: boost/spirit/home/qi/auxiliary/attr.hpp
===================================================================
--- boost/spirit/home/qi/auxiliary/attr.hpp	(revision 69217)
+++ boost/spirit/home/qi/auxiliary/attr.hpp	(revision 69218)
@@ -18,6 +18,7 @@
 #include <boost/spirit/home/qi/detail/assign_to.hpp>
 #include <boost/spirit/home/qi/meta_compiler.hpp>
 #include <boost/spirit/home/support/common_terminals.hpp>
+#include <boost/spirit/home/support/handles_container.hpp>
 #include <boost/type_traits/add_reference.hpp>
 #include <boost/type_traits/add_const.hpp>
 #include <boost/type_traits/remove_const.hpp>
@@ -96,6 +97,14 @@
     };
 }}}
 
+namespace boost { namespace spirit { namespace traits
+{
+    ///////////////////////////////////////////////////////////////////////////
+    template <typename T, typename Attr, typename Context, typename Iterator>
+    struct handles_container<qi::attr_parser<T>, Attr, Context, Iterator>
+      : traits::is_container<Attr> {}; 
+}}}
+
 #endif
 
 
Index: boost/spirit/home/qi/string/symbols.hpp
===================================================================
--- boost/spirit/home/qi/string/symbols.hpp	(revision 70041)
+++ boost/spirit/home/qi/string/symbols.hpp	(revision 70042)
@@ -398,6 +398,15 @@
     };
 }}}
 
+namespace boost { namespace spirit { namespace traits
+{
+    ///////////////////////////////////////////////////////////////////////////
+    template <typename Char, typename T, typename Lookup, typename Filter
+      , typename Attr, typename Context, typename Iterator>
+    struct handles_container<qi::symbols<Char, T, Lookup, Filter>, Attr, Context, Iterator>
+      : traits::is_container<Attr> {}; 
+}}}
+
 #if defined(BOOST_MSVC)
 # pragma warning(pop)
 #endif
openSUSE Build Service is sponsored by