
On 12/16/2009 09:03 PM, Steven Watanabe wrote:
Gottlob Frege wrote:
I think, actually, if operator, is implemented for T, then the comma-operator-trick no longer works, and we can't figure out most/any of the other operators either. See http://cpp-next.com/archive/2009/10/this-week-in-boost/#more-746
It still mostly works. There's only a problem if operator, returns void--and you can add as many calls to operator, as you want. There will only be an error if all the ones up to the last return non-void and the last one does return void.
It's going to be real fun for the poor slobs that run into that corner case. I sometimes get the sense that C++ folks (I include myself in that group) sometimes fail to see what sort of mess we are getting into by relying so much stuff that just "mostly works". So much of Boost MPL-driven stuff just "mostly works" and it can be a real pain to use. The compiler is certainly no help in sussing out the root cause when it doesn't. Rob