Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-05-20 13:06:28

Maurizio Vitale wrote:
> Eric Niebler <eric_at_[hidden]> 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_

This is tough. Proto has bitwise_or, logical_or and or_, and they mean
different things. For instance, you can make a grammar like:

struct MyGrammar
  : proto::or_<
       proto::logical_or<_, _> // match "a || b"
     , proto::bitwise_or<_, _> // match "a | b"

Logical_or and bitwise_or correspond to operator|| and operator|,
respectively. Proto::or_, on the other hand, is used to express
alternates in a proto grammar.

If we followed mpl's naming convention here, I would rename bitwise_or
to bitor_, logical_or to or_, and or_ to something else. But I don't
really like that. For the moment, I'm inclined to leave this as-is. I'm
open to suggestions.

Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at