> Just because a type is a Fusion sequence, that doesn't mean it has
> boost::fusion as an associated namespace. I'm asking why
> boost::fusion::operator< is in the overload set.

Ohh, sorry, I misunderstood. That's a good question indeed. However, I have
no answer, yet.

Regards Hartmut
---------------
http://boost-spirit.com

> 
> Eric
> 
> Sent via tiny mobile device
> 
> -----Original Message-----
> From: "Hartmut Kaiser" <hartmut.kai...@gmail.com>
> Date: Fri, 24 Dec 2010 08:55:16
> To: 'Eric Niebler'<e...@boostpro.com>
> Cc: 'Spirit Development'<spirit-de...@lists.sourceforge.net>; 'Christopher
> Schmidt'<mr.chr.schm...@online.de>; 'proto'<proto@lists.boost.org>
> Subject: RE: [Spirit-devel] [Spirit Development] Bug in today's
> boost_trunk --        ambiguous operator >
> 
> 
> > > I'm currently running the Fusion tests to see whether the additional
> > > 'typename Enable = void' break anything. But I expect everything to
> > > work - Yep everything is fine.
> > >
> > > Eric, would you be willing to add the specializations above to Proto's
> > > Fusion adaptation code?
> >
> > Doable, but I would feel better if these were documented customization
> > points of Fusion. At least move them out of the detail namespace.
> 
> Agreed, and I believe, doable.
> 
> > Note that if we had Concepts, the Fusion operators would be restricted
> to
> > models of IsComparable, which presumably would require that each element
> > of the sequence could be compared and that the result was convertible to
> > bool. By that definition, a Proto expression is *not* a model of
> > IsComparable. What you're asking me (and everyone else) to do is to
> > explicitly state that my type does *not* model the concept. It might be
> > expedient in this case, but it feel vaguely wrong to me.
> 
> I'm agreeing on all points.
> 
> > I'm still curious why an operator in the Fusion namespace is even being
> > considered. How did boost::fusion become an associated namespace of
> > spirit::qi::rule?
> 
> The qi::rule is a proto expression and as such a fusion sequence. The
> default fusion::detail::enable_comparison checks whether the operands are
> (const) fusion sequences, which makes rule a, b, c = a > b; a valid
> operation on Fusion sequences.
> 
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> 
> 


_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to