lower2.hpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # /* **************************************************************************
  2. # * *
  3. # * (C) Copyright Paul Mensonides 2002.
  4. # * Distributed under the Boost Software License, Version 1.0. (See
  5. # * accompanying file LICENSE_1_0.txt or copy at
  6. # * http://www.boost.org/LICENSE_1_0.txt)
  7. # * *
  8. # ************************************************************************** */
  9. #
  10. # /* See http://www.boost.org for most recent version. */
  11. #
  12. # include <boost/preprocessor/slot/detail/shared.hpp>
  13. #
  14. # undef BOOST_PP_ITERATION_START_2
  15. #
  16. # undef BOOST_PP_ITERATION_START_2_DIGIT_1
  17. # undef BOOST_PP_ITERATION_START_2_DIGIT_2
  18. # undef BOOST_PP_ITERATION_START_2_DIGIT_3
  19. # undef BOOST_PP_ITERATION_START_2_DIGIT_4
  20. # undef BOOST_PP_ITERATION_START_2_DIGIT_5
  21. # undef BOOST_PP_ITERATION_START_2_DIGIT_6
  22. # undef BOOST_PP_ITERATION_START_2_DIGIT_7
  23. # undef BOOST_PP_ITERATION_START_2_DIGIT_8
  24. # undef BOOST_PP_ITERATION_START_2_DIGIT_9
  25. # undef BOOST_PP_ITERATION_START_2_DIGIT_10
  26. #
  27. # if BOOST_PP_SLOT_TEMP_3 == 0
  28. # define BOOST_PP_ITERATION_START_2_DIGIT_3 0
  29. # elif BOOST_PP_SLOT_TEMP_3 == 1
  30. # define BOOST_PP_ITERATION_START_2_DIGIT_3 1
  31. # elif BOOST_PP_SLOT_TEMP_3 == 2
  32. # define BOOST_PP_ITERATION_START_2_DIGIT_3 2
  33. # elif BOOST_PP_SLOT_TEMP_3 == 3
  34. # define BOOST_PP_ITERATION_START_2_DIGIT_3 3
  35. # elif BOOST_PP_SLOT_TEMP_3 == 4
  36. # define BOOST_PP_ITERATION_START_2_DIGIT_3 4
  37. # elif BOOST_PP_SLOT_TEMP_3 == 5
  38. # define BOOST_PP_ITERATION_START_2_DIGIT_3 5
  39. # elif BOOST_PP_SLOT_TEMP_3 == 6
  40. # define BOOST_PP_ITERATION_START_2_DIGIT_3 6
  41. # elif BOOST_PP_SLOT_TEMP_3 == 7
  42. # define BOOST_PP_ITERATION_START_2_DIGIT_3 7
  43. # elif BOOST_PP_SLOT_TEMP_3 == 8
  44. # define BOOST_PP_ITERATION_START_2_DIGIT_3 8
  45. # elif BOOST_PP_SLOT_TEMP_3 == 9
  46. # define BOOST_PP_ITERATION_START_2_DIGIT_3 9
  47. # endif
  48. #
  49. # if BOOST_PP_SLOT_TEMP_2 == 0
  50. # define BOOST_PP_ITERATION_START_2_DIGIT_2 0
  51. # elif BOOST_PP_SLOT_TEMP_2 == 1
  52. # define BOOST_PP_ITERATION_START_2_DIGIT_2 1
  53. # elif BOOST_PP_SLOT_TEMP_2 == 2
  54. # define BOOST_PP_ITERATION_START_2_DIGIT_2 2
  55. # elif BOOST_PP_SLOT_TEMP_2 == 3
  56. # define BOOST_PP_ITERATION_START_2_DIGIT_2 3
  57. # elif BOOST_PP_SLOT_TEMP_2 == 4
  58. # define BOOST_PP_ITERATION_START_2_DIGIT_2 4
  59. # elif BOOST_PP_SLOT_TEMP_2 == 5
  60. # define BOOST_PP_ITERATION_START_2_DIGIT_2 5
  61. # elif BOOST_PP_SLOT_TEMP_2 == 6
  62. # define BOOST_PP_ITERATION_START_2_DIGIT_2 6
  63. # elif BOOST_PP_SLOT_TEMP_2 == 7
  64. # define BOOST_PP_ITERATION_START_2_DIGIT_2 7
  65. # elif BOOST_PP_SLOT_TEMP_2 == 8
  66. # define BOOST_PP_ITERATION_START_2_DIGIT_2 8
  67. # elif BOOST_PP_SLOT_TEMP_2 == 9
  68. # define BOOST_PP_ITERATION_START_2_DIGIT_2 9
  69. # endif
  70. #
  71. # if BOOST_PP_SLOT_TEMP_1 == 0
  72. # define BOOST_PP_ITERATION_START_2_DIGIT_1 0
  73. # elif BOOST_PP_SLOT_TEMP_1 == 1
  74. # define BOOST_PP_ITERATION_START_2_DIGIT_1 1
  75. # elif BOOST_PP_SLOT_TEMP_1 == 2
  76. # define BOOST_PP_ITERATION_START_2_DIGIT_1 2
  77. # elif BOOST_PP_SLOT_TEMP_1 == 3
  78. # define BOOST_PP_ITERATION_START_2_DIGIT_1 3
  79. # elif BOOST_PP_SLOT_TEMP_1 == 4
  80. # define BOOST_PP_ITERATION_START_2_DIGIT_1 4
  81. # elif BOOST_PP_SLOT_TEMP_1 == 5
  82. # define BOOST_PP_ITERATION_START_2_DIGIT_1 5
  83. # elif BOOST_PP_SLOT_TEMP_1 == 6
  84. # define BOOST_PP_ITERATION_START_2_DIGIT_1 6
  85. # elif BOOST_PP_SLOT_TEMP_1 == 7
  86. # define BOOST_PP_ITERATION_START_2_DIGIT_1 7
  87. # elif BOOST_PP_SLOT_TEMP_1 == 8
  88. # define BOOST_PP_ITERATION_START_2_DIGIT_1 8
  89. # elif BOOST_PP_SLOT_TEMP_1 == 9
  90. # define BOOST_PP_ITERATION_START_2_DIGIT_1 9
  91. # endif
  92. #
  93. # if BOOST_PP_ITERATION_START_2_DIGIT_3
  94. # define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_2_DIGIT_3, BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
  95. # elif BOOST_PP_ITERATION_START_2_DIGIT_2
  96. # define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
  97. # else
  98. # define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1
  99. # endif