On 06/15/2017 03:24 PM, Jason Merrill wrote: > On Thu, Jun 15, 2017 at 12:57 PM, Martin Sebor wrote: >> Attached is a documentation-only change to add comments explaining >> the C++ cp_operator_id and cp_assignment_operator_id macros. > > Hmm, I'd say that these macros return the identifier used internally > to represent "operator OP" and "operator OP=", respectively. Looking > up overloads is one thing you can do with that name, but the same is > true of all identifiers, do we need to mention it specifically? I tried to describe the use case that I needed but that wasn't obvious to me from the examples I cam across. If these cp_foo_id() helpers and the other identifier macros were defined and documented in one place there could be a few examples at the top of the section listing them showing some of the less obvious use cases. As it is, cp_operator_id() and cp_assignment_operator_id() are defined in one place (and using the cp_foobar_id() naming convention), while the {ctor,dtor}_ identifier macros in another (and using a different convention). Perhaps there's a good reason for it but knowing as little as I do I find it confusing because I used both to do the same thing: iterate over the overloads of the special functions. With that in mind, attached is an update that tries to clarify things without mentioning the example in the comments for (just) the operator _id macros. If you have a better suggestion I'll be happy to take it. Martin