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/config/limits.hpp> 13 # 14 # if !BOOST_PP_IS_SELFISH 15 # 16 # include <libs/preprocessor/test/iteration.h> 17 # 18 # define TEST(n) BEGIN n == n END 19 # 20 # define BOOST_PP_LOCAL_MACRO(n) TEST(n) 21 # define BOOST_PP_LOCAL_LIMITS (1, 5) 22 # include BOOST_PP_LOCAL_ITERATE() 23 # 24 # define BOOST_PP_LOCAL_MACRO(n) TEST(n) 25 # define BOOST_PP_LOCAL_LIMITS (5, 1) 26 # include BOOST_PP_LOCAL_ITERATE() 27 # 28 # if BOOST_PP_LIMIT_ITERATION != 256 29 # 30 # define BOOST_PP_LOCAL_MACRO(n) int BOOST_PP_CAT(int_li_f_,n) = n ; 31 # define BOOST_PP_LOCAL_LIMITS (0, BOOST_PP_LIMIT_ITERATION) 32 # include BOOST_PP_LOCAL_ITERATE() 33 # 34 # define BOOST_PP_LOCAL_MACRO(n) int BOOST_PP_CAT(int_li_r_,n) = n ; 35 # define BOOST_PP_LOCAL_LIMITS (BOOST_PP_LIMIT_ITERATION, 0) 36 # include BOOST_PP_LOCAL_ITERATE() 37 # 38 # endif 39 # 40 # define BOOST_PP_INDIRECT_SELF <libs/preprocessor/test/iteration.cpp> 41 # include BOOST_PP_INCLUDE_SELF() 42 # 43 # else 44 45 BEGIN BOOST_PP_IS_SELFISH == 1 END 46 47 # endif 48