Updated limitations docs.

This commit is contained in:
Edward Diener
2020-09-14 18:26:49 -04:00
parent ae836b12e4
commit 8288ce7575
8 changed files with 151 additions and 52 deletions

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_FOR</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
@ -12,15 +12,24 @@
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_FOR</b> </div>
<h4>Remarks</h4>
<div>This macro expands by default to <i>256</i>. 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
<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.</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>

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_ITERATION</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
@ -13,15 +13,24 @@
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_ITERATION</b> </div>
<h4>Remarks</h4>
<div> This macro expands by default to <i>256</i>. 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
<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="../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a>
macro to be equal to or greater than this value. <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>

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_MAG</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
@ -12,12 +12,21 @@
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_MAG</b> </div>
<h4>Remarks</h4>
<div> This macro expands by default to <i>256</i>. The end-user can
change this to 512 or 1024 by defining this macro to either value
before including any library headers.</div>
<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.</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>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
@ -13,9 +13,10 @@
<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>. 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
<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>
@ -38,6 +39,14 @@ href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/
<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>

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_SEQ</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
@ -12,14 +12,23 @@
<h4> Usage </h4>
<div class="code"> <b>BOOST_PP_LIMIT_SEQ</b> </div>
<h4> Remarks </h4>
<div>This macro expands by default to 256. The macro actually
expands to the value of the <a href="../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a>
<div>This macro expands by default to 256. For a C++ standard
conforming preprocessor, the macro actually expands to the value
of the <a href="../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a>
macro, but can be set to a lower value than BOOST_PP_LIMIT_MAG if
desired, but never to a higher value.<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>

View File

@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_TUPLE</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
@ -13,16 +13,25 @@
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_TUPLE</b> </div>
<h4>Remarks</h4>
<div> This macro expands by default to <i>64</i>. The end-user can
change this to 128 or 256 by defining this macro to either value
before including any library headers. If the end-user changes the
value of the macro the <a href="../ref/limit_variadic.html">BOOST_PP_LIMIT_VARIADIC</a>
<div> This macro expands by default to <i>64</i>. For a C++
standard conforming preprocessor, the end-user can change this to
128 or 256 by defining this macro to either value before including
any library headers. If the end-user changes the value of the
macro the <a href="../ref/limit_variadic.html">BOOST_PP_LIMIT_VARIADIC</a>
macro is changed to the same value unless the end-user has changed
BOOST_PP_LIMIT_VARIADIC to a higher value.<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>

View File

@ -1,35 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_VARIADIC</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_VARIADIC</b>
macro
defines the maximum <i>variadic data</i> size&nbsp;supported by
the library. </div>
macro defines the maximum <i>variadic data</i>
size&nbsp;supported by the library. </div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_VARIADIC</b> </div>
<h4>Remarks</h4>
<div>This macro expands by default to <i>64</i>. The end-user can
change this to 128 or 256 by defining this macro to either value
before including any library headers. This value can never be less
than the value of <a href="../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a>.<br>
<div>This macro expands by default to <i>64</i>. For a C++ standard
conforming preprocessor, the end-user can change this to 128 or
256 by defining this macro to either value before including any
library headers. This value can never be less than the value of <a
href="../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a>.<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></i><i><EFBFBD> Copyright Edward Diener
2011</i> </div>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2011</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>
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>

View File

@ -44,8 +44,9 @@
</p>
<p>This situation has now changed and a number of the limitation
macros specified in config/limits.hpp are now used internally in
the library code. This topic is therefore about how an end-user
can change the limitations of the library.<br>
the library code when the preprocessor is C++ standard
conforming. This topic is therefore about how an end-user can
change the limitations of the library.<br>
</p>
</blockquote>
<h4>Type of limitations</h4>
@ -153,7 +154,9 @@
standard conforming preprocessor. If you change a limitation
for a compiler that is not a C++ standard conforming
preprocessor the change is simply ignored and no preprocessor
error will occur.<br>
error will occur. This is because any non-conforming
preprocessor does not actually include or use the macros in
the config/limits.hpp file.<br>
</li>
<li>WARNING ! WARNING ! WARNING ! Increasing limitations may
mean that preprocessors may fail because the compiler itself
@ -252,6 +255,40 @@
original&nbsp; maximum.<br>
</p>
</blockquote>
<h4>Testing limitations</h4>
<blockquote>
<p>The default testing of the preprocessor library, using Boost
Build's b2 command in the preprocessor test directory, only
tests the default limitations. If you want to test, within the
test directory, any of the non-default limitations which may be
set, you can do so by invoking the b2 command with any of these
explicit targets:<br>
</p>
<ul>
<li>preprocessor_128 : arrays, tuples, and variadics with up to
128 elements</li>
<li>preprocessor_256 : arrays, tuples, and variadics with up to
256 elements</li>
<li>preprocessor_512 : numbers, lists, seqs, looping, and
iteration constructs with 512 maximum</li>
<li>preprocessor_1024 : numbers, lists, seqs, looping, and
iteration constructs with 1024 maximum</li>
<li>preprocessor_tup : both the first and second items in this
list</li>
<li>preprocessor_num : both the third and fourth items in this
list</li>
<li>preprocessor_limits : all preprocessor limitations</li>
</ul>
If you invoke b2 with the last preprocessor_limits target your
testing may take awhile for your compiler. When you choose one of
the above targets, as in <code>'b2 preprocessor_limits'</code>,
the default tests are not run. If you want the default tests run,
along with any of the targets such as preprocessor_limits, your
command would be <code>'b2 . preprocessor_limits'</code>, where
the '.' notation means all the non-explicit ( aka default )
targets.<br>
</blockquote>
<blockquote> </blockquote>
<blockquote>
<ul>
</ul>