
Frank Mori Hess escreveu:
eq(x,"logical operators have very precise meaning") && eq(y, "it is well-understood meaning for any C/C++ programmer") && eq(z, "what Castor uses them for definitely isn't it")
"Logic"ally you stated : x && y && z. These logical operators are used logically. :)
You're kind of making my point as I'm sure I have no idea what you're talking about. I realize your operations correspond in a broad sense to types of logical or/and operations. My position is more like: if the operation doesn't return a bool, it shouldn't even be in the realm of consideration for overloading operator|| or operator&&.
Spirit is precedent for this kind of usage. And Spirit works just fine. In practice, a programmer elaborating a parser using expression templates from Spirit doesn't get confused. Unless of course he is a novice. Is this a novice-level library? -- P.