![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: BOOST_MPL_LIMIT_METAFUNCTION_ARITYBoost , ,
|
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_METAFUNCTION_ARITY |
#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) # define BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ implementation-defined integral constant \ /**/ #endif
BOOST_MPL_LIMIT_METAFUNCTION_ARITYявляется макроконфигурацией, регулирующей максимальную поддерживаемую активностьметафункцийиклассов метафункций. В этой реализации библиотекиBOOST_MPL_LIMIT_METAFUNCTION_ARITYимеет значение 5 по умолчанию. Чтобы преодолеть предел по умолчанию, определитеBOOST_MPL_LIMIT_METAFUNCTION_ARITYдо желаемого максимального удобства перед включением любого заголовка библиотеки. [править]Примечание:Переопределение вступит в силутолько, если библиотека настроена не использоватьпредварительно обработанные заголовкиСм.Boost_MPL_CFG_NO_PREPROCESSED_HEADERSДля получения дополнительной информации.конец примечания
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 2 #include <boost/mpl/apply.hpp> 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!
Статья The MPL Reference Manual: BOOST_MPL_LIMIT_METAFUNCTION_ARITY раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |