
On 1/14/2012 5:53 AM, Lorenzo Caminiti wrote:
On Sun, Jun 26, 2011 at 10:57 AM, Lorenzo Caminiti <lorcaminiti@gmail.com> wrote:
I use Boost.Preprocessor (PP_TUPLE_, etc) pervasively in the implementation of a lot of macros in my projects. I also occasionally use Edward's VMD library. I will haply test the Boost.Preprocessor changes against my code.
I've been using Boost.Preprocessor variadics in Boost.ScopeExit, Boost.Closure, and Boost.Contract. I have not seen any issue so far.
I have a couple of comments:
I am replying about what is on the trunk. I have tried to get Paul Mensonides to move the trunk code to release, but he seems to be busy and has not been able to do so as yet. I am responsible for the documentation for the variadic macro support on the trunk.
1) Are the PP_VARIADIC macros documented?
Yes. Look under the variadic header in the docs and in the reference starting with VARIADIC_.
2) There are some macros like PP_REM and PP_EAT that are defined inside tuple/... even if they do not have the PP_TUPLE_ prefix. They are also not documented. Are these part of the public API? If find these macros useful, I'd move them in facilities/ and document them... (BTW, BOOST_PP_IS_EMPTY is not documented either.)
I am for documenting BOOST_PP_IS_EMPTY, and for providing a better version based almost completely on Paul's improvement using variadic macros. He may feel different. As far as the internal PP_REM and PP_EAT Paul did not want them to be documented as yet. Hopefully he will respond with his further plans about them if any.