1 .. Macros/Configuration//BOOST_MPL_LIMIT_METAFUNCTION_ARITY |20
3 BOOST_MPL_LIMIT_METAFUNCTION_ARITY
4 ==================================
11 #if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
12 # define BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\
21 ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` is an overridable configuration macro
22 regulating the maximum supported arity of `metafunctions`__ and
23 `metafunction classes`__. In this implementation of the
24 library, ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` has a default value of 5. To
25 override the default limit, define ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` to
26 the desired maximum arity before including any library header.
27 |preprocessed headers disclaimer|
30 __ `Metafunction Class`_
38 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
39 #define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 2
40 ``#``\ include <boost/mpl/apply.hpp>
42 using namespace boost::mpl;
44 template< typename T1, typename T2 > struct second
49 template< typename T1, typename T2, typename T3 > struct third
54 typedef apply< second<_1,_2_>,int,long >::type r1;
55 // typedef apply< third<_1,_2_,_3>,int,long,float >::type r2; // error!
61 |Macros|, |Configuration|, |BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS|
64 .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams
65 Distributed under the Boost Software License, Version 1.0. (See accompanying
66 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)