
On 9/12/2011 4:42 AM, John Maddock wrote:
It's in my concept-checking code, the actual (abreviated) error message is:
t.cpp:13: instantiated from here ../../../../trunk/boost/proto/tags.hpp:30: error: 'struct boost::proto::tag::complement' is not a function,
Ah! The tags need to be in an ADL-blocking namespace. That should be an easy fix. Can you file a bug? I'm currently on a week-long vacation with my family.
Ummm, well I confess I'm not using any transforms - just the expression template creation - then I unpick the expression myself. Partly that allowed me to get things going quickly, and partly it's allowed me to do all kinds of interesting things with the expression. The actual code that unpicks the expression is somewhat verbose, but not all that complex (not too much template depth... I hope).
It sounds like you're not actually using Proto for that much. Which leaves me puzzled because I can't figure where the perf problems would be coming from. Disclaimer: I haven't actually looked at the code, because I'm on vacation.
John, if you can post your code publicly, perhaps one of the proto cognoscenti can help.
OK to reproduce you will need:
* Current trunk. * The contents of sandbox/big_number. * A copy of MPFR. <snip>
I can't get to this this week. If one of the other proto users wanted to take a crack at this, it would be much appreciated. -- Eric Niebler BoostPro Computing http://www.boostpro.com