and_predicate.cpp 977 B

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_numeric.hpp>
  8. #include <boost/spirit/include/karma_generate.hpp>
  9. #include <boost/spirit/include/karma_operator.hpp>
  10. #include <boost/spirit/include/karma_auxiliary.hpp>
  11. #include <boost/spirit/include/karma_char.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. BOOST_TEST(test("1", int_(1) << &(int_(2) << &int_(3) << int_(4))));
  21. }
  22. {
  23. using boost::spirit::ascii::char_;
  24. BOOST_TEST(test("b", &char_('a') << 'b' | 'c', 'a'));
  25. BOOST_TEST(test("c", &char_('a') << 'b' | 'c', 'x'));
  26. }
  27. return boost::report_errors();
  28. }