
On 7/18/2011 9:57 PM, Gregory Crosswhite wrote:
On 07/18/2011 05:41 PM, Edward Diener wrote:
2) I strongly think that "CREATE_METAFUNCTION_FOR" (or something similar) should be inserted into all of the macro names because otherwise they strike me as being misleading. If I were not familiar with this library and I saw the macro BOOST_TTI_HAS_TYPE(X) in someone else's code, I would be confused because the name of the macro makes it sound like it is asking if X has some type even though the result doesn't seem to be used. By contrast, if I saw the macro BOOST_TTI_CREATE_METAFUNCTION_FOR_HAS_TYPE(X), it would be immediately clear to me that the purpose of this macro is to create a metafunction.
I can do that but I wonder if programmers really want to type that much<g>. I do not think they do even though I fully agree with you that your macro names are much clearer than the shorter ones.
Elsewhere in the discussion it was proposed that "GENERATE" be used so that the macros would be called BOOST_TTI_GENERATE_HAS_TYPE etc, which is much less verbose than my original suggestion. I strongly support this option, and believe that is very little additional typing for a great deal of clarity.
I will consider your suggestion. Thanks ! Eddie