1<html> 2<head> 3 <title>BOOST_PP_IDENTITY_N</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_IDENTITY_N</b> macro expands to its first argument when invoked. 9 </div> 10 <h4>Usage</h4> 11 <div class="code"> 12 <b>BOOST_PP_IDENTITY_N</b>(<i>item,n</i>)(n-arguments) 13 </div> 14 <h4>Arguments</h4> 15 <dl> 16 <dt>item</dt> 17 <dd> 18 The result of the expansion. 19 </dd> 20 <dt>n</dt> 21 <dd> 22 The number of arguments when invoked. 23 </dd> 24 </dl> 25 <h4>Remarks</h4> 26 <div> 27 This macro is designed to be used with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b> when only one of the clauses needs to be invoked. 28 </div> 29 <h4>See Also</h4> 30 <ul> 31 <li><a href="if.html">BOOST_PP_IF</a></li> 32 <li><a href="iif.html">BOOST_PP_IIF</a></li> 33 </ul> 34 <h4>Requirements</h4> 35 <div> 36 <b>Header:</b> <a href="../headers/facilities/identity.html"><boost/preprocessor/facilities/identity.hpp></a> 37 </div> 38 <h4>Sample Code</h4> 39<div><pre> 40#include <<a href="../headers/control/if.html">boost/preprocessor/control/if.hpp</a>> 41#include <<a href="../headers/facilities/identity.html">boost/preprocessor/facilities/identity.hpp</a>> 42 43#define MACRO_CAT(y,z) y ## z 44#define MACRO(n) <a href="if.html">BOOST_PP_IF</a>(n, <a href="identity_n.html">BOOST_PP_IDENTITY_N</a>(x,2), MACRO_CAT)(a,b) 45 46MACRO(0) // expands to ab 47MACRO(1) // expands to x 48</pre></div> 49 <hr size="1"> 50 <div style="margin-left: 0px"><i>© Copyright Edward Diener 2015</i></div> 51 <div style="margin-left: 0px;"> 52 <p><small>Distributed under the Boost Software License, Version 1.0. (See 53 accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or 54 copy at <a href= 55 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> 56 </div> 57</body> 58</html> 59