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
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk