$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r56341 - in trunk/boost/spirit: home/karma/action home/karma/directive home/karma/operator home/qi/action home/qi/directive home/qi/operator repository/home/karma/directive repository/home/qi/directive
From: hartmut.kaiser_at_[hidden]
Date: 2009-09-21 13:23:58
Author: hkaiser
Date: 2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
New Revision: 56341
URL: http://svn.boost.org/trac/boost/changeset/56341
Log:
Spirit: cleaning up superfluous template declarations
Text files modified: 
   trunk/boost/spirit/home/karma/action/action.hpp               |     5 -----                                   
   trunk/boost/spirit/home/karma/directive/buffer.hpp            |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/center_alignment.hpp  |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/delimit.hpp           |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/left_alignment.hpp    |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/maxwidth.hpp          |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/omit.hpp              |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/repeat.hpp            |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/right_alignment.hpp   |     3 ---                                     
   trunk/boost/spirit/home/karma/directive/verbatim.hpp          |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/alternative.hpp        |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/and_predicate.hpp      |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/kleene.hpp             |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/list.hpp               |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/not_predicate.hpp      |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/optional.hpp           |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/plus.hpp               |     3 ---                                     
   trunk/boost/spirit/home/karma/operator/sequence.hpp           |     3 ---                                     
   trunk/boost/spirit/home/qi/action/action.hpp                  |     3 ---                                     
   trunk/boost/spirit/home/qi/directive/lexeme.hpp               |     3 ---                                     
   trunk/boost/spirit/home/qi/directive/omit.hpp                 |     3 ---                                     
   trunk/boost/spirit/home/qi/directive/raw.hpp                  |     3 ---                                     
   trunk/boost/spirit/home/qi/directive/repeat.hpp               |     3 ---                                     
   trunk/boost/spirit/home/qi/directive/skip.hpp                 |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/alternative.hpp           |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/and_predicate.hpp         |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/difference.hpp            |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/expect.hpp                |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/kleene.hpp                |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/list.hpp                  |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/not_predicate.hpp         |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/optional.hpp              |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/permutation.hpp           |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/plus.hpp                  |     3 ---                                     
   trunk/boost/spirit/home/qi/operator/sequence.hpp              |     4 ----                                    
   trunk/boost/spirit/home/qi/operator/sequential_or.hpp         |     3 ---                                     
   trunk/boost/spirit/repository/home/karma/directive/confix.hpp |     4 ----                                    
   trunk/boost/spirit/repository/home/qi/directive/confix.hpp    |     4 ----                                    
   trunk/boost/spirit/repository/home/qi/directive/distinct.hpp  |     4 ----                                    
   39 files changed, 0 insertions(+), 123 deletions(-)
Modified: trunk/boost/spirit/home/karma/action/action.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/action/action.hpp	(original)
+++ trunk/boost/spirit/home/karma/action/action.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -114,16 +114,11 @@
     };
 }}
 
-
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Action>
     struct has_semantic_action<karma::action<Subject, Action> >
       : mpl::true_ {};
-
 }}}
 
 #endif
Modified: trunk/boost/spirit/home/karma/directive/buffer.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/buffer.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/buffer.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -101,9 +101,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::buffer_directive<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/center_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/center_alignment.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/center_alignment.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -296,9 +296,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Width>
     struct has_semantic_action<karma::simple_center_alignment<Subject, Width> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/delimit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/delimit.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/delimit.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -170,9 +170,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::redelimit_generator<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/left_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/left_alignment.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/left_alignment.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -279,9 +279,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Width>
     struct has_semantic_action<karma::simple_left_alignment<Subject, Width> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/maxwidth.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/maxwidth.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/maxwidth.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -221,9 +221,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::maxwidth_width<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/omit.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/omit.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -86,9 +86,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::omit_directive<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/repeat.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/repeat.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -268,9 +268,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename LoopIter>
     struct has_semantic_action<karma::repeat_generator<Subject, LoopIter> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/right_alignment.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/right_alignment.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/right_alignment.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -289,9 +289,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Width>
     struct has_semantic_action<karma::simple_right_alignment<Subject, Width> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/directive/verbatim.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/directive/verbatim.hpp	(original)
+++ trunk/boost/spirit/home/karma/directive/verbatim.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -94,9 +94,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::verbatim_generator<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/alternative.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/alternative.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/alternative.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -139,9 +139,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<karma::alternative<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/home/karma/operator/and_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/and_predicate.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/and_predicate.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -80,9 +80,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::and_predicate<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/kleene.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/kleene.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/kleene.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -98,9 +98,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::kleene<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/list.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/list.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/list.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -106,9 +106,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Left, typename Right>
     struct has_semantic_action<karma::list<Left, Right> >
       : binary_has_semantic_action<Left, Right> {};
Modified: trunk/boost/spirit/home/karma/operator/not_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/not_predicate.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/not_predicate.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -81,9 +81,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::not_predicate<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/optional.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/optional.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/optional.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -87,9 +87,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::optional<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/plus.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/plus.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/plus.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -103,9 +103,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<karma::plus<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/karma/operator/sequence.hpp
==============================================================================
--- trunk/boost/spirit/home/karma/operator/sequence.hpp	(original)
+++ trunk/boost/spirit/home/karma/operator/sequence.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -193,9 +193,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<karma::sequence<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/home/qi/action/action.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/action/action.hpp	(original)
+++ trunk/boost/spirit/home/qi/action/action.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -112,9 +112,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Action>
     struct has_semantic_action<qi::action<Subject, Action> >
       : mpl::true_ {};
Modified: trunk/boost/spirit/home/qi/directive/lexeme.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/lexeme.hpp	(original)
+++ trunk/boost/spirit/home/qi/directive/lexeme.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -87,9 +87,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::lexeme_directive<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/directive/omit.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/omit.hpp	(original)
+++ trunk/boost/spirit/home/qi/directive/omit.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -84,9 +84,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::omit_directive<Subject> >
       : mpl::false_ {};
Modified: trunk/boost/spirit/home/qi/directive/raw.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/raw.hpp	(original)
+++ trunk/boost/spirit/home/qi/directive/raw.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -91,9 +91,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::raw_directive<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/directive/repeat.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/repeat.hpp	(original)
+++ trunk/boost/spirit/home/qi/directive/repeat.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -256,9 +256,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename LoopIter>
     struct has_semantic_action<qi::repeat_parser<Subject, LoopIter> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/directive/skip.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/directive/skip.hpp	(original)
+++ trunk/boost/spirit/home/qi/directive/skip.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -160,9 +160,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::reskip_parser<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/alternative.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/alternative.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/alternative.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -99,9 +99,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<qi::alternative<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/home/qi/operator/and_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/and_predicate.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/and_predicate.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -74,9 +74,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::and_predicate<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/difference.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/difference.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/difference.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -94,9 +94,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Left, typename Right>
     struct has_semantic_action<qi::difference<Left, Right> >
       : binary_has_semantic_action<Left, Right> {};
Modified: trunk/boost/spirit/home/qi/operator/expect.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/expect.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/expect.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -77,9 +77,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<qi::expect<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/home/qi/operator/kleene.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/kleene.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/kleene.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -92,9 +92,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::kleene<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/list.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/list.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/list.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -102,9 +102,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Left, typename Right>
     struct has_semantic_action<qi::list<Left, Right> >
       : binary_has_semantic_action<Left, Right> {};
Modified: trunk/boost/spirit/home/qi/operator/not_predicate.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/not_predicate.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/not_predicate.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -73,9 +73,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::not_predicate<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/optional.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/optional.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/optional.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -91,9 +91,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::optional<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/permutation.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/permutation.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/permutation.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -125,9 +125,6 @@
     struct pass_attribute<qi::permutation<Elements>, Attribute>
       : wrap_if_not_tuple<Attribute> {};
 
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<qi::permutation<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/home/qi/operator/plus.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/plus.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/plus.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -96,9 +96,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject>
     struct has_semantic_action<qi::plus<Subject> >
       : unary_has_semantic_action<Subject> {};
Modified: trunk/boost/spirit/home/qi/operator/sequence.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/sequence.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/sequence.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -65,13 +65,9 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<qi::sequence<Elements> >
       : nary_has_semantic_action<Elements> {};
-
 }}}
 
 #endif
Modified: trunk/boost/spirit/home/qi/operator/sequential_or.hpp
==============================================================================
--- trunk/boost/spirit/home/qi/operator/sequential_or.hpp	(original)
+++ trunk/boost/spirit/home/qi/operator/sequential_or.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -107,9 +107,6 @@
     struct pass_attribute<qi::sequential_or<Elements>, Attribute>
       : wrap_if_not_tuple<Attribute> {};
 
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Elements>
     struct has_semantic_action<qi::sequential_or<Elements> >
       : nary_has_semantic_action<Elements> {};
Modified: trunk/boost/spirit/repository/home/karma/directive/confix.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/karma/directive/confix.hpp	(original)
+++ trunk/boost/spirit/repository/home/karma/directive/confix.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -127,9 +127,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Prefix, typename Suffix>
     struct has_semantic_action<
             repository::karma::confix_generator<Subject, Prefix, Suffix> >
@@ -138,7 +135,6 @@
           , has_semantic_action<Prefix>
           , has_semantic_action<Suffix> 
         > {};
-
 }}}
 
 #endif
Modified: trunk/boost/spirit/repository/home/qi/directive/confix.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/qi/directive/confix.hpp	(original)
+++ trunk/boost/spirit/repository/home/qi/directive/confix.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -136,9 +136,6 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Prefix, typename Suffix>
     struct has_semantic_action<
             repository::qi::confix_parser<Subject, Prefix, Suffix> >
@@ -147,7 +144,6 @@
           , has_semantic_action<Prefix>
           , has_semantic_action<Suffix> 
         > {};
-
 }}}
 
 #endif
Modified: trunk/boost/spirit/repository/home/qi/directive/distinct.hpp
==============================================================================
--- trunk/boost/spirit/repository/home/qi/directive/distinct.hpp	(original)
+++ trunk/boost/spirit/repository/home/qi/directive/distinct.hpp	2009-09-21 13:23:55 EDT (Mon, 21 Sep 2009)
@@ -133,14 +133,10 @@
 
 namespace boost { namespace spirit { namespace traits
 {
-    template <typename T>
-    struct has_semantic_action;
-
     template <typename Subject, typename Tail, typename Modifier>
     struct has_semantic_action<
             repository::qi::distinct_parser<Subject, Tail, Modifier> >
       : unary_has_semantic_action<Subject> {};
-
 }}}
 
 #endif