epoc32/include/stdapis/boost/mpl/aux_/preprocessor/params.hpp
branchSymbian2
changeset 2 2fe1408b6811
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/preprocessor/params.hpp	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,65 @@
     1.4 +
     1.5 +#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
     1.6 +#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
     1.7 +
     1.8 +// Copyright Aleksey Gurtovoy 2000-2004
     1.9 +//
    1.10 +// Distributed under the Boost Software License, Version 1.0. 
    1.11 +// (See accompanying file LICENSE_1_0.txt or copy at 
    1.12 +// http://www.boost.org/LICENSE_1_0.txt)
    1.13 +//
    1.14 +// See http://www.boost.org/libs/mpl for documentation.
    1.15 +
    1.16 +// $Source: /cvsroot/boost/boost/boost/mpl/aux_/preprocessor/params.hpp,v $
    1.17 +// $Date: 2004/09/02 15:40:56 $
    1.18 +// $Revision: 1.5 $
    1.19 +
    1.20 +#include <boost/mpl/aux_/config/preprocessor.hpp>
    1.21 +
    1.22 +// BOOST_MPL_PP_PARAMS(0,T): <nothing>
    1.23 +// BOOST_MPL_PP_PARAMS(1,T): T1
    1.24 +// BOOST_MPL_PP_PARAMS(2,T): T1, T2
    1.25 +// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
    1.26 +
    1.27 +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
    1.28 +
    1.29 +#   include <boost/preprocessor/cat.hpp>
    1.30 +
    1.31 +#   define BOOST_MPL_PP_PARAMS(n,p) \
    1.32 +    BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \
    1.33 +    /**/
    1.34 +
    1.35 +#   define BOOST_MPL_PP_PARAMS_0(p)
    1.36 +#   define BOOST_MPL_PP_PARAMS_1(p) p##1
    1.37 +#   define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2
    1.38 +#   define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
    1.39 +#   define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
    1.40 +#   define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
    1.41 +#   define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
    1.42 +#   define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
    1.43 +#   define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
    1.44 +#   define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
    1.45 +
    1.46 +#else
    1.47 +
    1.48 +#   include <boost/preprocessor/comma_if.hpp>
    1.49 +#   include <boost/preprocessor/repeat.hpp>
    1.50 +#   include <boost/preprocessor/inc.hpp>
    1.51 +#   include <boost/preprocessor/cat.hpp>
    1.52 +
    1.53 +#   define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
    1.54 +    BOOST_PP_COMMA_IF(i) \
    1.55 +    BOOST_PP_CAT(param, BOOST_PP_INC(i)) \
    1.56 +    /**/
    1.57 +
    1.58 +#   define BOOST_MPL_PP_PARAMS(n, param) \
    1.59 +    BOOST_PP_REPEAT( \
    1.60 +          n \
    1.61 +        , BOOST_MPL_PP_AUX_PARAM_FUNC \
    1.62 +        , param \
    1.63 +        ) \
    1.64 +    /**/
    1.65 +
    1.66 +#endif 
    1.67 +
    1.68 +#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED