try_catch_expression.hpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
  2. #ifndef BOOST_PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
  3. #define BOOST_PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
  4. #include <boost/phoenix/support/iterate.hpp>
  5. #include <boost/phoenix/statement/detail/preprocessed/try_catch_expression.hpp>
  6. #endif
  7. #else
  8. #if !BOOST_PHOENIX_IS_ITERATING
  9. #ifndef BOOST_PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
  10. #define BOOST_PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
  11. #include <boost/phoenix/support/iterate.hpp>
  12. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  13. #pragma wave option(preserve: 2, line: 0, output: "preprocessed/try_catch_expression_" BOOST_PHOENIX_LIMIT_STR ".hpp")
  14. #endif
  15. /*==============================================================================
  16. Copyright (c) 2005-2010 Joel de Guzman
  17. Copyright (c) 2010 Thomas Heller
  18. Distributed under the Boost Software License, Version 1.0. (See accompanying
  19. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  20. ==============================================================================*/
  21. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  22. #pragma wave option(preserve: 1)
  23. #endif
  24. #define BOOST_PHOENIX_ITERATION_PARAMS \
  25. (3, (0, BOOST_PHOENIX_CATCH_LIMIT, \
  26. <boost/phoenix/statement/detail/try_catch_expression.hpp>))
  27. #include BOOST_PHOENIX_ITERATE()
  28. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  29. #pragma wave option(output: null)
  30. #endif
  31. #endif
  32. #else
  33. template <
  34. typename Try
  35. BOOST_PP_COMMA_IF(BOOST_PHOENIX_ITERATION)
  36. BOOST_PHOENIX_typename_A
  37. >
  38. struct try_catch<
  39. Try
  40. BOOST_PP_COMMA_IF(BOOST_PHOENIX_ITERATION)
  41. BOOST_PHOENIX_A
  42. >
  43. : expr_ext<
  44. try_catch_actor
  45. , tag::try_catch
  46. , Try
  47. BOOST_PP_COMMA_IF(BOOST_PHOENIX_ITERATION) BOOST_PHOENIX_A
  48. >
  49. {};
  50. /**/
  51. #endif
  52. #endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES