function_result_of.hpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
  2. #ifndef BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_RESULT_OF_HPP
  3. #define BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_RESULT_OF_HPP
  4. #include <boost/phoenix/function/detail/preprocessed/function_result_of.hpp>
  5. #endif
  6. #else
  7. #if !BOOST_PHOENIX_IS_ITERATING
  8. #ifndef BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_RESULT_OF_HPP
  9. #define BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_RESULT_OF_HPP
  10. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  11. #pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_result_of_" BOOST_PHOENIX_LIMIT_STR ".hpp")
  12. #endif
  13. /*==============================================================================
  14. Copyright (c) 2005-2010 Joel de Guzman
  15. Copyright (c) 2010 Thomas Heller
  16. Distributed under the Boost Software License, Version 1.0. (See accompanying
  17. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  18. ==============================================================================*/
  19. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  20. #pragma wave option(preserve: 1)
  21. #endif
  22. #define BOOST_PHOENIX_ITERATION_PARAMS \
  23. (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \
  24. <boost/phoenix/function/detail/function_result_of.hpp>))
  25. #include PHOENIX_ITERATE()
  26. #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
  27. #pragma wave option(output: null)
  28. #endif
  29. #endif
  30. #else
  31. template <typename F, BOOST_PHOENIX_typename_A>
  32. struct function<F, BOOST_PHOENIX_A>
  33. : proto::result_of::make_expr<
  34. proto::tag::function
  35. , phoenix_domain
  36. , F
  37. , BOOST_PHOENIX_A
  38. >
  39. {};
  40. #endif
  41. #endif // PHOENIX_DONT_USE_PREPROCESSED_FILES