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

Reply via email to