Boost logo

Boost :

Subject: Re: [boost] [proto] Problems with operator <<
From: Eric Niebler (eric_at_[hidden])
Date: 2011-08-26 13:17:14


On 8/26/2011 12:53 PM, John Maddock wrote:
> struct big_number_grammar
> : proto::or_<
> proto::terminal<proto::_>
> , proto::plus< big_number_grammar, big_number_grammar >
> , proto::multiplies< big_number_grammar, big_number_grammar >
> , proto::minus< big_number_grammar, big_number_grammar >
> , proto::divides< big_number_grammar, big_number_grammar >
> , proto::unary_plus< big_number_grammar >
> , proto::negate< big_number_grammar >
> , proto::or_<
> proto::modulus<big_number_grammar, big_number_grammar>
> , proto::shift_left<big_number_grammar, integer_terminal>
> , proto::shift_right<big_number_grammar, integer_terminal>
> , proto::bitwise_and<big_number_grammar, big_number_grammar>
> >
> >
> {};

BTW, this grammar begs to be optimized with proto::switch_. Aside from
that, if you're using the latest released Proto, proto::or_ can have up
to 10 alternates before you need to cascade them. But use switch_. It'll
compile faster.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

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