
13 Jan
2011
13 Jan
'11
8:09 p.m.
Here is the status of the type-traits addition: - I added the following operators: +=, *=, -=, /*, %=, &=, |=, ^=, <<, >>, >>=, <<=, prefix ++, prefix --, postfix ++, postfix -- so that the covered operators are now: - I added in the doc. the fact that private operators are not covered and lead to compile time errors - for operators on built-in types that require integer arguments (%, bitwise op.): I replaced a long list of specialiazation by an automatic detection Remaining work: 1. check what happens for pointer arguments, 2. implement trait for: . operator= . has_address_of_op<T> . has_dereference_op<T> . has_member_access_op<T> . has_subscript_op<T1 [,T2]> . has_pointer_to_member_op<T1 [,T2]> . has_comma_op<T1 [,T2]> . has_function_call_op<T,R [,P1, ...]> 3. have an MPL predicate for return value As I have only little time (full time work and 3 young children...), I will: - certainly do 1., - I will certainly leave 3. to somebody else in the future because I am not enough agile with MPL, - as for 2., 3 possibilities: (i) I do it but it will probably postpone the addition for a long time, (ii) I just leave it and I know is is a shame not to provide all operator detection (nobody's perfect) or (iii) somebody else agrees to add them and have them reviewed at the same time. Frédéric