1 2 #ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED 3 #define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED 4 5 // Copyright Aleksey Gurtovoy 2002-2004 6 // 7 // Distributed under the Boost Software License, Version 1.0. 8 // (See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 // 11 // See http://www.boost.org/libs/mpl for documentation. 12 13 // $Id$ 14 // $Date$ 15 // $Revision$ 16 17 #include <boost/mpl/aux_/config/preprocessor.hpp> 18 19 #if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) 20 21 # include <boost/preprocessor/cat.hpp> 22 23 # define BOOST_MPL_PP_REPEAT(n,f,param) \ 24 BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \ 25 /**/ 26 27 # define BOOST_MPL_PP_REPEAT_0(f,p) 28 # define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p) 29 # define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p) 30 # define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p) 31 # define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) 32 # define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) 33 # define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) 34 # define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) 35 # define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) 36 # define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) 37 # define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p) 38 39 #else 40 41 # include <boost/preprocessor/repeat.hpp> 42 43 # define BOOST_MPL_PP_REPEAT(n,f,param) \ 44 BOOST_PP_REPEAT(n,f,param) \ 45 /**/ 46 47 #endif 48 49 #define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x 50 51 #endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED 52