
Could you make the same analysis with "const, volatile and references" I must answer in html. cv qualifiers work just fine. In the implementation, I have removed the reference qualifier from the analysis when I added the +=, -=, ... operators because they require lvalue as left hand side parameter (so I first remove the & if it exists and then I add it to make sure I have an lvalue). This makes <cv A> and <cv A&> behave the same. I am checking if I can handle
I am not sure of the formatting of the table you received because I received it in text mode, not html, so let me retry (sorry for this). this better. operator+(A) operator+(const A) operator+(volatile A) operator+(const volatile A) operator+(A&) operator+(const A&) operator+(volatile A&) operator+(const volatile A&) has_operator_unary_plus<A> true true true true true true true true has_operator_unary_plus<const A> true true true true false true false true has_operator_unary_plus<volatile A> true true true true false false true true has_operator_unary_plus<const volatile A> true true true true false false false true has_operator_unary_plus<A&> true true true true true true true true has_operator_unary_plus<const A&> true true true true false true false true has_operator_unary_plus<volatile A&> true true true true false false true true has_operator_unary_plus<const volatile A&> true true true true false false false true Frédéric