.. Macros/Configuration//BOOST_MPL_LIMIT_METAFUNCTION_ARITY |20 BOOST_MPL_LIMIT_METAFUNCTION_ARITY ================================== Synopsis -------- .. parsed-literal:: #if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) # define BOOST_MPL_LIMIT_METAFUNCTION_ARITY \\ |idic| \\ /\*\*/ #endif Description ----------- ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` is an overridable configuration macro regulating the maximum supported arity of `metafunctions`__ and `metafunction classes`__. In this implementation of the library, ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` has a default value of 5. To override the default limit, define ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY`` to the desired maximum arity before including any library header. |preprocessed headers disclaimer| __ `Metafunction`_ __ `Metafunction Class`_ Example ------- .. parsed-literal:: #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 2 ``#``\ include using namespace boost::mpl; template< typename T1, typename T2 > struct second { typedef T2 type; }; template< typename T1, typename T2, typename T3 > struct third { typedef T3 type; }; typedef apply< second<_1,_2_>,int,long >::type r1; // typedef apply< third<_1,_2_,_3>,int,long,float >::type r2; // error! See also -------- |Macros|, |Configuration|, |BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS| .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)