Upgrade docs to say that variadic macros must be supported by the compiler.

This commit is contained in:
Edward Diener
2020-09-19 02:24:44 -04:00
parent 5fd12d32d4
commit 9fcd0a289a
2 changed files with 27 additions and 17 deletions

View File

@ -1,23 +1,35 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<meta content="text/html; charset=windows-1252"
http-equiv="content-type">
<title>title.html</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h4>Introduction</h4>
<div> The Boost Preprocessing library is a library of macros, with support
for preprocessor metaprogramming. The library supports both C++ and C
compilation. It does not depend on any other Boost libraries and therefore
may be used as a standalone library. </div>
<div> An excerpt from <i>C++ Template Metaprogramming: Concepts, Tools, and
Techniques from Boost and Beyond</i> by Dave Abrahams and Aleksey
Gurtovoy has been made <a href="AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html"
target="_top"><font color="blue"><b><u><i>available</i></u></b></font></a>.
This excerpt contains a basic introduction to the Preprocessor library and
preprocessor metaprogramming which may help users new to the library and
users interested in seeing some of the facilities offered by the library.
<div> The Boost Preprocessing library is a library of macros, with
support for preprocessor metaprogramming. The library supports
both C++ and C compilation. It does not depend on any other Boost
libraries and therefore may be used as a standalone library.<br>
<br>
The library assumes that the compiler supports variadic macros.
Since variadic macros are a C99 or C++11 feature the library
ostensibly requires at least compilation at those C or C++
standard levels. A number of compilers support variadic macros at
a lower level, so it still may be possible using the library at
the C++03 compilation level, as long as strict C++03 compliance is
not enforced.<br>
</div>
<div> An excerpt from <i>C++ Template Metaprogramming: Concepts,
Tools, and Techniques from Boost and Beyond</i> by Dave Abrahams
and Aleksey Gurtovoy has been made <a
href="AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html"
target="_top"><font color="blue"><b><u><i>available</i></u></b></font></a>.
This excerpt contains a basic introduction to the Preprocessor
library and preprocessor metaprogramming which may help users new
to the library and users interested in seeing some of the
facilities offered by the library. </div>
<!--
<EFBFBD> Copyright Housemarque Oy 2002<30> Copyright Paul Mensonides 2002Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)-->

View File

@ -113,9 +113,8 @@
BOOST_PP_NOT_EQUAL depend on BOOST_PP_WHILE. So whatever is
the value for BOOST_PP_LIMIT_MAG is also the value for
BOOST_PP_LIMIT_WHILE.</li>
<li>BOOST_PP_LIMIT_TUPLE depends on BOOST_PP_LIMIT_VARIADIC when
variadic macros are supported, since in that case array/tuple
functionality often ends up calling variadic data
<li>BOOST_PP_LIMIT_TUPLE depends on BOOST_PP_LIMIT_VARIADIC,
since array/tuple functionality often ends up calling variadic data
functionality. So while BOOST_PP_LIMIT_TUPLE can be smaller
than BOOST_PP_LIMIT_VARIADIC it can never be larger.<br>
</li>
@ -204,8 +203,7 @@
least equal to BOOST_PP_LIMIT_TUPLE if the value of
BOOST_PP_LIMIT_VARIADIC has not also been changed to be
greater than BOOST_PP_LIMIT_TUPLE. This is because
tuples/arrays depend on variadic functionality when variadic
macros are supported..</li>
tuples/arrays depend on variadic functionality.</li>
<li>BOOST_PP_LIMIT_SEQ, BOOST_PP_LIMIT_FOR,
BOOST_PP_LIMIT_REPEAT, BOOST_PP_LIMIT_ITERATION: If you try to
set any of these values greater than the BOOST_PP_LIMIT_MAG