Hmm, this might work. It is similar to my_method( fusion::make_vector( i+i , i*i*i , i*i ) , x );
But the expression might become really large, say 100 elements. A separation between construction and usage would be nicer. >> >> In pseudo code it should look like this: >> >> Expressions< N > expressions; >> construct( expressions ); // or something similar >> do_step( epxressions , x ); // my method > > > How about something like? > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > #include <boost/proto/proto.hpp> > > using namespace boost::proto; > > template<class Expr, class X> > void my_method(Expr const& e, X const& x) > { > } > > int main() > { > using namespace boost::proto; > > terminal<int>::type i = {0}; > my_method( (i+i, i*i, i*i*i), 10); > } > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Notice that you don't need to explicitly store the expressions in a > container, you can just combine them in a larger expression tree which can > be parsed in my_method. > > Nate > > This message and any attachments are intended only for the individual or > entity to which the message is addressed. This is a private message and > may contain privileged information. If you are neither the intended > recipient nor the agent responsible for delivering the message to the > intended recipient, you are hereby notified that any review, > retransmission, dissemination, or taking of any action in reliance upon, > the information in this communication is strictly prohibited, and may be > unlawful. If you feel you have received this communication in error, > please notify me immediately by returning this email to me and deleting it > from your computer. > _______________________________________________ > proto mailing list > proto@lists.boost.org > http://lists.boost.org/mailman/listinfo.cgi/proto > Karsten Ahnert Ambrosys GmbH - Gesellschaft für Management komplexer Systeme Geschwister-Scholl-Str. 63a D-14471 Potsdam Tel: +4917682001688 Fax: +493319791300 Ambrosys GmbH - Gesellschaft für Management komplexer Systems Gesellschaft mit beschränkter Haftung Sitz der Gesellschaft: Geschwister-Scholl-Str. 63a, 14471 Potsdam Registergericht: Amtsgericht Potsdam, HRB 21228 P Geschäftsführer: Karsten Ahnert, Dr. Markus Abel _______________________________________________ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto