> >      {          template <typename Context, typename Iterator>          struct attribute          {              typedef typename                  boost::result_of<qi_modify(tag::lazy_eval, Modifiers)>::type              modifier;                typedef typename                  remove_reference<                      typename boost::result_of<Function(unused_type, Context)>::type                  >::type              expr_type;                // If you got an error_invalid_expression error message here,              // then the expression (expr_type) is not a valid spirit qi              // expression.              BOOST_SPIRIT_ASSERT_MATCH(qi::domain, expr_type);                typedef typename                  result_of::compile<qi::domain, expr_type, modifier>::type              parser_type;                typedef typename                  traits::attribute_of<parser_type, Context, Iterator>::type              type;          };            lazy_