
29 Apr
2007
29 Apr
'07
3:44 p.m.
On 04/27/2007 03:25 PM, Eric Niebler wrote:
Larry Evans wrote:
why not do the following renames:
proto::_ -> proto::true_
proto::not_<_> -> proto::false_
?
No, proto::_ is a placeholder. And proto::not_<> can logically negate any grammar, not just proto::_.
Actaully, the following is what I had in mind: namespace boost { namespace proto { struct true_ : _ {}; struct false_ : not_<true_> {}; }}//exit boost::proto namespace Why? Because I think (I haven't tested it) the same laws for mpl::bool_ and it's associated operations: mpl::not_ mpl::and_ mpl::or_ would apply to proto's true_, false_, not_,....