
Thank you for the explanation. Paul Mensonides wrote:
Using the BOOST_PP_IS_EMPTY macro with string literal as parameter causes compiler warning: warning: pasting "BOOST_PP_IS_EMPTY_DEF_" and ""AA"" does not give a valid preprocessing token
That macro is 1) not a library interface (so why are you using it?)
I'm using it because I was looking for something to detect emptiness and have found a macro in the preprocessor library. I can tell you what makes me thinking that this is a public macro - it's name, which follows the same convention as all the other macros' names in the library. and 2) is
not a general purpose emptiness detector (there is no such thing). There are very specific constraints on what the input is supposed to be. Now I understood that my impression was wrong. May be it makes sense to have different prefix for private macros?
Cheers, Sergei