1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/arity_spec.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,67 @@
1.4 +
1.5 +#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
1.6 +#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
1.7 +
1.8 +// Copyright Aleksey Gurtovoy 2001-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_/arity_spec.hpp,v $
1.17 +// $Date: 2004/11/28 02:04:02 $
1.18 +// $Revision: 1.7 $
1.19 +
1.20 +#include <boost/mpl/int.hpp>
1.21 +#include <boost/mpl/limits/arity.hpp>
1.22 +#include <boost/mpl/aux_/config/dtp.hpp>
1.23 +#include <boost/mpl/aux_/preprocessor/params.hpp>
1.24 +#include <boost/mpl/aux_/arity.hpp>
1.25 +#include <boost/mpl/aux_/template_arity_fwd.hpp>
1.26 +#include <boost/mpl/aux_/config/ttp.hpp>
1.27 +#include <boost/mpl/aux_/config/lambda.hpp>
1.28 +#include <boost/mpl/aux_/config/static_constant.hpp>
1.29 +
1.30 +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
1.31 +# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \
1.32 +namespace aux { \
1.33 +template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \
1.34 +struct arity< \
1.35 + name< BOOST_MPL_PP_PARAMS(i,T) > \
1.36 + , N \
1.37 + > \
1.38 +{ \
1.39 + BOOST_STATIC_CONSTANT(int \
1.40 + , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
1.41 + ); \
1.42 +}; \
1.43 +} \
1.44 +/**/
1.45 +#else
1.46 +# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/
1.47 +#endif
1.48 +
1.49 +# define BOOST_MPL_AUX_ARITY_SPEC(i,name) \
1.50 + BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \
1.51 +/**/
1.52 +
1.53 +
1.54 +#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
1.55 + && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
1.56 +# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \
1.57 +namespace aux { \
1.58 +template< BOOST_MPL_PP_PARAMS(i,typename T) > \
1.59 +struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > \
1.60 + : int_<i> \
1.61 +{ \
1.62 +}; \
1.63 +} \
1.64 +/**/
1.65 +#else
1.66 +# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
1.67 +#endif
1.68 +
1.69 +
1.70 +#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED