Re: [Spirit Development] Bug in today's boost_trunk -- ambiguous operator >
"Hartmut Kaiser" <[email protected]> Tue, 18 Jan 2011 18:34:47 -0600
| Newsgroups | gmane.comp.parsers.spirit.devel |
|---|---|
| Message-ID | <[email protected]> |
> >>> But none of the changes Hartmut suggested were ever made. And nobody
> >>> ever filed a bug, and we let this problem slip through.
> >>
> >> And here's the bug:
> >> https://svn.boost.org/trac/boost/ticket/5084
> >>
> >> I've marked it as a showstopper.
> >
> > Hoisted enable_comparison to fusion::traits. I'll commit as soon I run
> > all tests.
>
> Note: merely hoisting it to fusion::traits is not enough. I need to be
> able to SFINAE-enable partial specializations, as Hartmut suggested.
Just to keep the ball rolling... Joel did the required changes in Fusion
today (see boost/fusion/sequence/comparison/enable_comparison.hpp):
namespace boost { namespace fusion { namespace traits
{
template <typename Seq1, typename Seq2, typename Enable = void>
struct enable_equality
: mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
{};
template <typename Seq1, typename Seq2, typename Enable = void>
struct enable_comparison
: mpl::and_<
mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
, mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
>
{};
}}}
Eric, please go ahead and add the corresponding traits specializations to
proto. In the meantime, I'll prepare the tests for Spirit.
Regards Hartmut
---------------
http://boost-spirit.com
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl