deque_initial_size.hpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*=============================================================================
  2. Copyright (c) 2005-2012 Joel de Guzman
  3. Copyright (c) 2005-2006 Dan Marsden
  4. Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. ==============================================================================*/
  7. #if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139)
  8. #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139
  9. #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
  10. #error "C++03 only! This file should not have been included"
  11. #endif
  12. #include <boost/preprocessor/repetition/enum_params.hpp>
  13. #include <boost/mpl/find.hpp>
  14. #include <boost/mpl/begin.hpp>
  15. #include <boost/mpl/distance.hpp>
  16. #include <boost/mpl/equal_to.hpp>
  17. #include <boost/mpl/vector.hpp>
  18. namespace boost { namespace fusion
  19. {
  20. struct void_;
  21. }}
  22. #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
  23. #include <boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp>
  24. #else
  25. #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
  26. #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_initial_size" FUSION_MAX_DEQUE_SIZE_STR ".hpp")
  27. #endif
  28. /*=============================================================================
  29. Copyright (c) 2001-2011 Joel de Guzman
  30. Distributed under the Boost Software License, Version 1.0. (See accompanying
  31. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  32. This is an auto-generated file. Do not edit!
  33. ==============================================================================*/
  34. #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
  35. #pragma wave option(preserve: 1)
  36. #endif
  37. namespace boost { namespace fusion { namespace detail
  38. {
  39. template<BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, typename T)>
  40. struct deque_initial_size
  41. {
  42. typedef mpl::vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> args;
  43. typedef typename mpl::find<args, void_>::type first_void;
  44. typedef typename mpl::distance<typename mpl::begin<args>::type, first_void>::type type;
  45. };
  46. }}}
  47. #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
  48. #pragma wave option(output: null)
  49. #endif
  50. #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
  51. #endif