![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
BOOST_PP_ENUM_TRAILING_zBoost , ,
The BOOST_PP_ENUM_TRAILING_z macro represents a reentry into the BOOST_PP_ENUM_TRAILING repetition construct.
Usage
BOOST_PP_ENUM_TRAILING_ ## z(count, macro, data)
Arguments
Remarks
This macro expands to the sequence:
, macro(z, 0, data), macro(z, 1, data), ... macro(z, count - 1, data)
At certain times, it may be necessary to perform the concatenation with BOOST_PP_CAT rather than the preprocessor token-pasting operator.
This happens when the z value is a macro invocation itself.
It needs a delay to allow it to expand.
The syntax in such a scenario becomes:
BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, z)(count, macro, data)
See AlsoRequirementsSample Code#include <boost/preprocessor/repetition/enum.hpp> #include <boost/preprocessor/repetition/enum_trailing.hpp> #define TEXT(z, n, text) text #define TTP(z, n, _) \ template< \ class BOOST_PP_ENUM_TRAILING_ ## z(n, TEXT, class) \ > \ class T ## n \ /**/ BOOST_PP_ENUM(3, TTP, nil) /* expands to... template<class> class T0, template<class, class> class T1, template<class, class, class> class T2 */
© Copyright Housemarque Oy 2002
© Copyright Paul Mensonides 2002
Распространяется в соответствии с лицензией Boost Software License, Version 1.0. (См. сопроводительный файл)LICENSE_1_0.txtили копия наwww.boost.org/LICENSE_1_0.txt Статья BOOST_PP_ENUM_TRAILING_z раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |