
Maurizio Vitale wrote:
Found some more: bitwise_{and,or,xor} for boost::mpl bit{and,or,xor}_
And then you have these, although here is a tougher call: logical_{and,or,not} for boost::mpl::{and,or,not}_ The problem here is that proto already has and_, or_ and not_ (although not in the tag namespace) and it might be confusing to have the same name denoting different things. (although personally I find having the same name for different things in different namespaces less confusing than having different names for the same thing across proto/mpl).
Ah, I finally remember my rationale for choosing the names logical_and, logical_or and logical_not for representing the operators &&, || and !. Those are the std names of the function objects in <functional> for those operators. And the names bitwise_and, bitwise_or, etc., are chosen by extension. Anyway, that was my reason, and it still seems like a good one. That doesn't mean I can't be convinced to change it, though.
Maybe here it would be better if boost::mpl offered the proto names as well (while preserving the existing ones for backward compatibility).
Eh. Naming is such a contentious issue. I'm not sure I want to wage that battle. -- Eric Niebler Boost Consulting www.boost-consulting.com