pp_round.hpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*=============================================================================
  2. Copyright (c) 2011 Thomas Heller
  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. ==============================================================================*/
  6. #ifndef BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP
  7. #define BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP
  8. #include <boost/fusion/support/config.hpp>
  9. #include <boost/preprocessor/cat.hpp>
  10. #include <boost/preprocessor/comparison/less.hpp>
  11. #include <boost/preprocessor/control/if.hpp>
  12. #define BOOST_FUSION_PP_ROUND_UP(N) \
  13. BOOST_PP_CAT(BOOST_FUSION_PP_DO_ROUND_UP_, N)() \
  14. /**/
  15. #define BOOST_FUSION_PP_DO_ROUND_UP_0() 10
  16. #define BOOST_FUSION_PP_DO_ROUND_UP_1() 10
  17. #define BOOST_FUSION_PP_DO_ROUND_UP_2() 10
  18. #define BOOST_FUSION_PP_DO_ROUND_UP_3() 10
  19. #define BOOST_FUSION_PP_DO_ROUND_UP_4() 10
  20. #define BOOST_FUSION_PP_DO_ROUND_UP_5() 10
  21. #define BOOST_FUSION_PP_DO_ROUND_UP_6() 10
  22. #define BOOST_FUSION_PP_DO_ROUND_UP_7() 10
  23. #define BOOST_FUSION_PP_DO_ROUND_UP_8() 10
  24. #define BOOST_FUSION_PP_DO_ROUND_UP_9() 10
  25. #define BOOST_FUSION_PP_DO_ROUND_UP_10() 10
  26. #define BOOST_FUSION_PP_DO_ROUND_UP_11() 20
  27. #define BOOST_FUSION_PP_DO_ROUND_UP_12() 20
  28. #define BOOST_FUSION_PP_DO_ROUND_UP_13() 20
  29. #define BOOST_FUSION_PP_DO_ROUND_UP_14() 20
  30. #define BOOST_FUSION_PP_DO_ROUND_UP_15() 20
  31. #define BOOST_FUSION_PP_DO_ROUND_UP_16() 20
  32. #define BOOST_FUSION_PP_DO_ROUND_UP_17() 20
  33. #define BOOST_FUSION_PP_DO_ROUND_UP_18() 20
  34. #define BOOST_FUSION_PP_DO_ROUND_UP_19() 20
  35. #define BOOST_FUSION_PP_DO_ROUND_UP_20() 20
  36. #define BOOST_FUSION_PP_DO_ROUND_UP_21() 30
  37. #define BOOST_FUSION_PP_DO_ROUND_UP_22() 30
  38. #define BOOST_FUSION_PP_DO_ROUND_UP_23() 30
  39. #define BOOST_FUSION_PP_DO_ROUND_UP_24() 30
  40. #define BOOST_FUSION_PP_DO_ROUND_UP_25() 30
  41. #define BOOST_FUSION_PP_DO_ROUND_UP_26() 30
  42. #define BOOST_FUSION_PP_DO_ROUND_UP_27() 30
  43. #define BOOST_FUSION_PP_DO_ROUND_UP_28() 30
  44. #define BOOST_FUSION_PP_DO_ROUND_UP_29() 30
  45. #define BOOST_FUSION_PP_DO_ROUND_UP_30() 30
  46. #define BOOST_FUSION_PP_DO_ROUND_UP_31() 40
  47. #define BOOST_FUSION_PP_DO_ROUND_UP_32() 40
  48. #define BOOST_FUSION_PP_DO_ROUND_UP_33() 40
  49. #define BOOST_FUSION_PP_DO_ROUND_UP_34() 40
  50. #define BOOST_FUSION_PP_DO_ROUND_UP_35() 40
  51. #define BOOST_FUSION_PP_DO_ROUND_UP_36() 40
  52. #define BOOST_FUSION_PP_DO_ROUND_UP_37() 40
  53. #define BOOST_FUSION_PP_DO_ROUND_UP_38() 40
  54. #define BOOST_FUSION_PP_DO_ROUND_UP_39() 40
  55. #define BOOST_FUSION_PP_DO_ROUND_UP_40() 40
  56. #define BOOST_FUSION_PP_DO_ROUND_UP_41() 50
  57. #define BOOST_FUSION_PP_DO_ROUND_UP_42() 50
  58. #define BOOST_FUSION_PP_DO_ROUND_UP_43() 50
  59. #define BOOST_FUSION_PP_DO_ROUND_UP_44() 50
  60. #define BOOST_FUSION_PP_DO_ROUND_UP_45() 50
  61. #define BOOST_FUSION_PP_DO_ROUND_UP_46() 50
  62. #define BOOST_FUSION_PP_DO_ROUND_UP_47() 50
  63. #define BOOST_FUSION_PP_DO_ROUND_UP_48() 50
  64. #define BOOST_FUSION_PP_DO_ROUND_UP_49() 50
  65. #define BOOST_FUSION_PP_DO_ROUND_UP_50() 50
  66. #endif