Boost logo

Boost Users :

Subject: Re: [Boost-users] [Proto] loosing expression wrappers in transforms
From: Robert Valkenburg (rj.valkenburg_at_[hidden])
Date: 2010-04-30 05:18:50


On Fri, Apr 30, 2010 at 6:27 PM, Joel Falcou <joel.falcou_at_[hidden]> wrote:

>
> I never encountered that with my own set of transform.
>
> Do you have a small code that cna be compiled out of nowehere ?
>
>
I've attached a smallish (~160 lines) file that only depends on
"boost/proto/proto.hpp"

I still get the unwrapping (gcc 4.4.1 linux FC 11, x86_64 platform) as
follows

g++ -Wall -I/home/users/robert/linux_x86_64/src/boost_1_42_0
test_boost_proto.cpp -o test_boost_proto

test_boost_proto.cpp: In function ‘void clifford::evaluate(Res&, const
clifford::ga_expr<Expr>&) [with Res =
clifford::multivector<clifford::cga3::rotator_basis, clifford::cga3::cga3>,
Expr = boost::proto::exprns_::expr<clifford::tag::reverse_,
boost::proto::argsns_::list1<clifford::ga_expr<boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::term<const
clifford::multivector<clifford::cga3::ebivector_basis,
clifford::cga3::cga3>&>, 0l> > >, 1l>]’:
test_boost_proto.cpp:126: instantiated from ‘clifford::multivector<B, A>&
clifford::multivector<B, A>::operator=(const clifford::ga_expr<T>&) [with T
= boost::proto::exprns_::expr<clifford::tag::reverse_,
boost::proto::argsns_::list1<clifford::ga_expr<boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::term<const
clifford::multivector<clifford::cga3::ebivector_basis,
clifford::cga3::cga3>&>, 0l> > >, 1l>, B = clifford::cga3::rotator_basis, A
= clifford::cga3::cga3]’
test_boost_proto.cpp:164: instantiated from here
test_boost_proto.cpp:103: error: no matching function for call to
‘evaluate_expr(clifford::multivector<clifford::cga3::rotator_basis,
clifford::cga3::cga3>&, boost::proto::exprns_::expr<clifford::tag::reverse_,
boost::proto::argsns_::list1<const
clifford::ga_expr<boost::proto::exprns_::expr<boost::proto::tag::terminal,
boost::proto::argsns_::term<const
clifford::multivector<clifford::cga3::ebivector_basis,
clifford::cga3::cga3>&>, 0l> >&>, 1l>)’





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