regression_fusion_proto_spirit.cpp 1.1 KB

123456789101112131415161718192021222324252627282930
  1. /*=============================================================================
  2. Copyright (c) 2001-2011 Hartmut Kaiser
  3. Copyright (c) 2011 Robert Nelson
  4. Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. =============================================================================*/
  7. // These (compilation) tests verify that Proto's operator overloads do not
  8. // trigger the corresponding operator overloads exposed by Fusion.
  9. #include <boost/fusion/tuple.hpp>
  10. #include <boost/spirit/include/qi_operator.hpp>
  11. #include <boost/spirit/include/qi_eps.hpp>
  12. #include <boost/spirit/include/qi_nonterminal.hpp>
  13. #include <string>
  14. int main()
  15. {
  16. namespace qi = boost::spirit::qi;
  17. static qi::rule<std::string::const_iterator> const a;
  18. static qi::rule<std::string::const_iterator> const b;
  19. qi::rule<std::string::const_iterator> rule = a > b;
  20. int vars;
  21. qi::rule<std::string::const_iterator, int(const int&)> const r;
  22. qi::rule<std::string::const_iterator, int()> r2 =
  23. r(boost::phoenix::ref(vars)) > qi::eps;
  24. }