Index: boost/spirit/utility/confix.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/spirit/utility/confix.hpp,v retrieving revision 1.7 diff -u -r1.7 confix.hpp --- boost/spirit/utility/confix.hpp 8 Feb 2006 23:09:47 -0000 1.7 +++ boost/spirit/utility/confix.hpp 23 Feb 2006 18:20:49 -0000 @@ -137,16 +137,20 @@ struct confix_parser_gen { // Generic generator function for creation of concrete confix parsers + template + struct result_type { + typedef confix_parser< + typename as_parser::type, + typename as_parser::type, + typename as_parser::type, + typename as_parser::type::parser_category_t, + NestedT, + LexemeT + > type; + }; template - confix_parser< - typename as_parser::type, - typename as_parser::type, - typename as_parser::type, - typename as_parser::type::parser_category_t, - NestedT, - LexemeT - > + typename result_type::type operator()( StartT const &start_, ExprT const &expr_, EndT const &end_) const { @@ -175,14 +179,7 @@ // parser (see comment above, no automatic refactoring) template - confix_parser< - typename as_parser::type, - typename as_parser::type, - typename as_parser::type, - plain_parser_category, // do not re-attach action - NestedT, - LexemeT - > + typename result_type::type direct(StartT const &start_, ExprT const &expr_, EndT const &end_) const { typedef typename as_parser::type start_t;