Boost logo

Boost Users :

Subject: [Boost-users] [Proto] Recreating an expression
From: christophe henry (henry_christophe_at_[hidden])
Date: 2009-07-01 15:41:53


Hi to all proto experts,

 

I have a grammar whose only goal is to build a type:
template <class Expr> struct ActionBuilder with an operator() which simply calls:
proto::eval(Expr(),my_context);

Unfortunately, I have an expression like:
boost::proto::exprns_::expr<boost::proto::tag::plus,boost::proto::argsns_::list2<const A&,const B&> >
And the compiler is unhappy about finding no appropriate default constructor (I suppose because of the references).

deep_copy is probably not usable inside a grammar definition, so is there an easy way of getting rid of the references (if they are really the problem) or do I have to go and get my MPL canon?

I am really just interested in having the recreated expression use a new instance of A and B, not the original ones.

 

Thanks,

Christophe

_________________________________________________________________
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.

http://www.microsoft.com/windows/windowslive/products/photos.aspx



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net