matches.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*=============================================================================
  2. Copyright (c) 2001-2015 Joel de Guzman
  3. Copyright (c) 2001-2010 Hartmut Kaiser
  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. #include <boost/detail/lightweight_test.hpp>
  8. #include <boost/spirit/home/x3.hpp>
  9. #include <iostream>
  10. #include "test.hpp"
  11. int
  12. main()
  13. {
  14. using spirit_test::test;
  15. using spirit_test::test_attr;
  16. using boost::spirit::x3::matches;
  17. using boost::spirit::x3::char_;
  18. {
  19. BOOST_TEST(test("x", matches[char_]));
  20. bool result = false;
  21. BOOST_TEST(test_attr("x", matches[char_], result) && result);
  22. }
  23. {
  24. BOOST_TEST(!test("y", matches[char_('x')]));
  25. BOOST_TEST(!test("y", matches['x']));
  26. bool result = true;
  27. BOOST_TEST(test_attr("y", matches[char_('x')], result, false) && !result);
  28. result = true;
  29. BOOST_TEST(test_attr("y", matches['x'], result, false) && !result);
  30. }
  31. return boost::report_errors();
  32. }