Hi Thomas,

Sorry to come back to the subject so late, I didn't manage before :(

> If you want to use it as a transform you need the evaluator with an
> appropriate action that does the desired transform... here is an
> example:
>
> struct BuildEventPlusGuard
>  : proto::when<
>  proto::subscript<proto::terminal<event_tag>,
> phoenix::meta_grammar >,
>  TempRow<none,proto::_left,none,none,
> phoenix::evaluator(proto::_right, some_cool_action())>()
>  >
> {};
>
> Now, some_cool_action can do the transform that BuildGuards was doing.

Hmmm, I get a compiler error, which was expected (would be too easy
otherwise ;- ) ), but the error is surprising. The error is that
phoenix::evaluator seems to believe some_cool_action should be a
random access fusion sequence (expects an environment?).

Anyway, I am hoping not to write any cool transform but simply save
the type of the phoenix expression so that I can re-create an actor
later. If I need to rewrite differently what BuildGuards was doing, I
gain little. I would like phoenix to do the grammar parsing and
building of actor.

Thanks,
Christophe
_______________________________________________
proto mailing list
[email protected]
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to