
Eric Niebler <eric@boost-consulting.com> writes:
I've just noticed you still have {left,right}_shift vs. shift_{left,right} of boost::mpl.
You're right. I'll change this, but probably not until after BoostCon.
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). The reason I discovered these is that I'm writing a transform that evaluates proto expressions as mpl expressions, as long as terminals gets transformed to mpl::int_/long_/bool_. In that context it is nice to have exactly the same name so that ancillary macros can take a single argument, rather than two which are almost always the same. But I wouldn't consider this a determining factor in deciding. Before taking a decision also consider uniformity in bitwise_{and,or,xor}_assign. These are not in mpl, but I think that if bitwise_ gets dropped in the normal operator it should be dropped for assigning operators as well. Also, I wouldn't drop bitwise unless logical gets dropped as well. So on these I have no strong feelings, but I mention them anyhow so that you can think about the issue. Maybe here it would be better if boost::mpl offered the proto names as well (while preserving the existing ones for backward compatibility). Regards, Maurizio