seq_enum.hpp 880 B

1234567891011121314151617181920212223242526
  1. // Copyright David Abrahams 2005.
  2. // Distributed under the Boost Software License, Version 1.0.
  3. // (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt)
  5. #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_SEQ_ENUM_HPP
  6. #define BOOST_PARAMETER_AUX_PREPROCESSOR_SEQ_ENUM_HPP
  7. #include <boost/preprocessor/seq/enum.hpp>
  8. #include <boost/config.hpp>
  9. #include <boost/config/workaround.hpp>
  10. #if BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
  11. #include <boost/preprocessor/seq/size.hpp>
  12. // Temporary version of BOOST_PP_SEQ_ENUM
  13. // until Paul M. integrates the workaround.
  14. #define BOOST_PARAMETER_SEQ_ENUM_I(size, seq) \
  15. BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
  16. #define BOOST_PARAMETER_SEQ_ENUM(seq) \
  17. BOOST_PARAMETER_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
  18. #else
  19. #define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM(seq)
  20. #endif
  21. #endif // include guard