range.hpp 843 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
  2. #define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
  3. // Copyright Aleksey Gurtovoy 2002-2004
  4. //
  5. // Distributed under the Boost Software License, Version 1.0.
  6. // (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. //
  9. // See http://www.boost.org/libs/mpl for documentation.
  10. // $Id$
  11. // $Date$
  12. // $Revision$
  13. #include <boost/preprocessor/seq/subseq.hpp>
  14. #include <boost/preprocessor/repetition/repeat.hpp>
  15. #include <boost/preprocessor/arithmetic/add.hpp>
  16. #define BOOST_MPL_PP_RANGE_ITEM(z,n,_) (n)
  17. #define BOOST_MPL_PP_RANGE(first, length) \
  18. BOOST_PP_SEQ_SUBSEQ( \
  19. BOOST_PP_REPEAT(BOOST_PP_ADD(first,length), BOOST_MPL_PP_RANGE_ITEM, _), \
  20. first, length \
  21. ) \
  22. /**/
  23. #endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED