sequence.hpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*==============================================================================
  2. Copyright (c) 2001-2010 Joel de Guzman
  3. Copyright (c) 2010 Eric Niebler
  4. Copyright (c) 2010 Thomas Heller
  5. Distributed under the Boost Software License, Version 1.0. (See accompanying
  6. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. ==============================================================================*/
  8. #ifndef BOOST_PHOENIX_STATEMENT_SEQUENCE_HPP
  9. #define BOOST_PHOENIX_STATEMENT_SEQUENCE_HPP
  10. #include <boost/phoenix/core/limits.hpp>
  11. #include <boost/phoenix/core/expression.hpp>
  12. #include <boost/phoenix/core/meta_grammar.hpp>
  13. namespace boost { namespace phoenix
  14. {
  15. namespace expression
  16. {
  17. template <typename A0, typename A1>
  18. struct sequence
  19. : expr<proto::tag::comma, A0, A1>
  20. {};
  21. }
  22. namespace rule
  23. {
  24. struct sequence
  25. : expression::sequence<
  26. meta_grammar
  27. , meta_grammar
  28. >
  29. {};
  30. }
  31. template <typename Dummy>
  32. struct meta_grammar::case_<proto::tag::comma, Dummy>
  33. : enable_rule<rule::sequence, Dummy>
  34. {};
  35. }}
  36. #endif