Boost logo

Boost :

From: Maurizio Vitale (mav_at_[hidden])
Date: 2007-05-20 14:57:58


Eric Niebler <eric_at_[hidden]> writes:

> There are cases where this approach doesn't work, however. For example,
> in xpressive, there is a repeat<>() function, for repeating
> sub-expressions. For instance:
>
> repeat<3,6>('a')

I've taken a look at repeat and the other primitives and tags are of the
form:
        template<int V> struct a_tag { typedef mpl::int_<V> type }

from the tag names it seems like they're not intended to be used in pattern
matching, but rather provide an already decoded "action" to be performed.
For instance the tag for repeat is called generic_quant_tag and doesn't
brings 'repeat' to mind.

Is that roughly correct?

Would be a pattern like the following be valid?

    proto::unary_expr<generic_quant_tag<3,proto::_>, proto::_>

Thanks,

        Maurizio


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