summaryrefslogtreecommitdiff
path: root/extra/boost/boost-1.46.0-spirit.patch
blob: 6fae331ee14925049ae317d506445c0c90ff9e3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Index: boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
===================================================================
--- boost/spirit/home/qi/nonterminal/detail/parameterized.hpp	(revision 68724)
+++ boost/spirit/home/qi/nonterminal/detail/parameterized.hpp	(revision 68725)
@@ -14,6 +14,7 @@
 
 #include <boost/ref.hpp>
 
+#include <boost/spirit/home/support/handles_container.hpp>
 #include <boost/spirit/home/qi/parser.hpp>
 
 namespace boost { namespace spirit { namespace qi
@@ -59,4 +60,16 @@ namespace boost { namespace spirit { nam
     };
 }}}
 
+namespace boost { namespace spirit { namespace traits
+{
+    ///////////////////////////////////////////////////////////////////////////
+    template <typename Subject, typename Params, typename Attribute
+      , typename Context, typename Iterator>
+    struct handles_container<qi::parameterized_nonterminal<Subject, Params>
+          , Attribute, Context, Iterator>
+      : handles_container<typename remove_const<Subject>::type
+        , Attribute, Context, Iterator> 
+    {};
+}}}
+
 #endif
Index: boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
===================================================================
--- boost/spirit/home/karma/nonterminal/detail/parameterized.hpp	(revision 68724)
+++ boost/spirit/home/karma/nonterminal/detail/parameterized.hpp	(revision 68725)
@@ -14,6 +14,7 @@
 
 #include <boost/ref.hpp>
 
+#include <boost/spirit/home/support/handles_container.hpp>
 #include <boost/spirit/home/karma/generator.hpp>
 
 namespace boost { namespace spirit { namespace karma
@@ -60,4 +61,17 @@ namespace boost { namespace spirit { nam
     };
 }}}
 
+
+namespace boost { namespace spirit { namespace traits
+{
+    ///////////////////////////////////////////////////////////////////////////
+    template <typename Subject, typename Params, typename Attribute
+      , typename Context, typename Iterator>
+    struct handles_container<karma::parameterized_nonterminal<Subject, Params>
+          , Attribute, Context, Iterator>
+      : handles_container<typename remove_const<Subject>::type
+        , Attribute, Context, Iterator> 
+    {};
+}}}
+
 #endif