boost/libs/preprocessor/doc/ref/limit_repeat.html
2021-10-05 21:37:46 +02:00

63 lines
2.9 KiB
HTML
Raw Permalink Blame History

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="content-type">
<title>BOOST_PP_LIMIT_REPEAT</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_REPEAT</b>
macro defines the maximum number of repetitions supported by each
<b>BOOST_PP_REPEAT</b> dimension. </div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_REPEAT</b> </div>
<h4>Remarks</h4>
<div>This macro expands by default to <i>256</i>. For a C++
standard conforming preprocessor, the end-user can change this to
512 or 1024 by defining this macro to either value before
including any library headers, as long as the end-user also
defines the <a
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a>
macro to be equal to or greater than this value. <br>
<br>
NOTE: for the current latest versions of default preprocessor for
Microsoft's VC++ compiler there is a nested macro limit of 256.
This means in actuality that the number of repetitions using VC++
is actually less than 256 depending on the repetition macro being
used. For the BOOST_PP_REPEAT macro this limit appears to be 252
while for the BOOST_PP_ENUM... series of macros this limit appears
to be around 230, before the VC++ compiler gives a "C1009:
compiler limit : macros nested too deeply" error. This is a
compiler limitation of VC++ which may vary depending on the
specific repetition macro being used, and therefore is not a
problem the preprocessor library can solve. This limitation of the
default preprocessor for VC++ does not exist for the new standard
conforming preprocessor for VC++ in Visual Studio 2019 invoked
with the<code> /Zc:preprocessor</code> switch.<br>
</div>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</div>
<b>See also<br>
</b>
<ul>
<li><a href="../topics/limitations.html">Limitations</a></li>
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br>
</li>
</ul>
<br>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a
href="http://www.housemarque.com" target="_top">Housemarque Oy</a>
2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>