1<html> 2<head> 3 <title>BOOST_PP_ENUM_TRAILING_PARAMS_Z</title> 4 <link rel="stylesheet" type="text/css" href="../styles.css"> 5</head> 6<body> 7 <div style="margin-left: 0px;"> 8 The <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b> macro generates a comma-separated list of parameters with a leading comma. 9 It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency. 10 </div> 11 <h4>Usage</h4> 12 <div class="code"> 13 <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>) 14 </div> 15 <h4>Arguments</h4> 16 <dl> 17 <dt>z</dt> 18 <dd> 19 The next available <b>BOOST_PP_REPEAT</b> dimension. 20 </dd> 21 <dt>count</dt> 22 <dd> 23 The number of parameters to generate. 24 Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>. 25 </dd> 26 <dt>param</dt> 27 <dd> 28 The text of the parameter. 29 <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i> 30 to generate parameters. 31 </dd> 32 </dl> 33 <h4>Remarks</h4> 34 <div> 35 This macro expands to the comma-separated sequence: 36 <div> 37 , <i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i> 38 </div> 39 </div> 40 <h4>See Also</h4> 41 <ul> 42 <li><a href="enum_trailing_params.html">BOOST_PP_ENUM_TRAILING_PARAMS</a></li> 43 <li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li> 44 </ul> 45 <h4>Requirements</h4> 46 <div> 47 <b>Header:</b> <a href="../headers/repetition/enum_trailing_params.html"><boost/preprocessor/repetition/enum_trailing_params.hpp></a> 48 </div> 49 <h4>Sample Code</h4> 50<div id="sample"><pre> 51#include <<a href="../headers/repetition/enum_trailing_params.html">boost/preprocessor/repetition/enum_trailing_params.hpp</a>> 52#include <<a href="../headers/repetition/repeat.html">boost/preprocessor/repetition/repeat.hpp</a>> 53 54#define MACRO(z, n, _) \ 55 template< \ 56 class <a href="enum_trailing_params_z.html">BOOST_PP_ENUM_TRAILING_PARAMS_Z</a>(z, n, class T) \ 57 > class X ## n { \ 58 /* ... */ \ 59 }; \ 60 /**/ 61 62<a href="repeat.html">BOOST_PP_REPEAT</a>(2, MACRO, nil) 63/* 64 expands to... 65 template<class> class X0 { }; 66 template<class, class T0> class X1 { }; 67*/ 68</pre></div> 69 <hr size="1"> 70 <div style="margin-left: 0px;"> 71 <i>� Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i> 72 </br><i>� Copyright Paul Mensonides 2002</i> 73 </div> 74 <div style="margin-left: 0px;"> 75 <p><small>Distributed under the Boost Software License, Version 1.0. (See 76 accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or 77 copy at <a href= 78 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> 79 </div> 80</body> 81</html> 82