From 9fcd0a289abcef692ad6181eca5ac98d91a5cbcc Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sat, 19 Sep 2020 02:24:44 -0400 Subject: [PATCH] Upgrade docs to say that variadic macros must be supported by the compiler. --- doc/title.html | 36 ++++++++++++++++++++++++------------ doc/topics/limitations.html | 8 +++----- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/doc/title.html b/doc/title.html index ea7871e..ce13018 100644 --- a/doc/title.html +++ b/doc/title.html @@ -1,23 +1,35 @@ + - + title.html

Introduction

-
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.
-
An excerpt from C++ Template Metaprogramming: Concepts, Tools, and - Techniques from Boost and Beyond by Dave Abrahams and Aleksey - Gurtovoy has been made available. - 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. +
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.
+
+ 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.
+
An excerpt from C++ Template Metaprogramming: Concepts, + Tools, and Techniques from Boost and Beyond by Dave Abrahams + and Aleksey Gurtovoy has been made available. + 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.
diff --git a/doc/topics/limitations.html b/doc/topics/limitations.html index d9b0173..6b796a9 100644 --- a/doc/topics/limitations.html +++ b/doc/topics/limitations.html @@ -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. -
  • 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 +
  • 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.
  • @@ -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.. + tuples/arrays depend on variadic functionality.
  • 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