not_predicate.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright (c) 2001-2011 Hartmut Kaiser
  2. //
  3. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. #include <boost/config/warning_disable.hpp>
  6. #include <boost/detail/lightweight_test.hpp>
  7. #include <boost/spirit/include/karma_generate.hpp>
  8. #include <boost/spirit/include/karma_operator.hpp>
  9. #include <boost/spirit/include/karma_auxiliary.hpp>
  10. #include <boost/spirit/include/karma_char.hpp>
  11. #include <boost/spirit/include/karma_string.hpp>
  12. #include <iostream>
  13. #include "test.hpp"
  14. int
  15. main()
  16. {
  17. using namespace spirit_test;
  18. using namespace boost::spirit;
  19. {
  20. using boost::spirit::ascii::char_;
  21. using boost::spirit::ascii::string;
  22. BOOST_TEST(test("c", !char_('a') << 'b' | 'c', 'a'));
  23. BOOST_TEST(test("b", !char_('a') << 'b' | 'c', 'x'));
  24. BOOST_TEST(test("def", !string("123") << "abc" | "def", "123"));
  25. BOOST_TEST(test("abc", !string("123") << "abc" | "def", "456"));
  26. }
  27. return boost::report_errors();
  28. }