Boost logo

Boost :

Subject: Re: [boost] [Variant] [BGL] Variant<edge_descriptor, edge_descriptor> is not EqualityComparable
From: Cosimo Calabrese (cosimo.calabrese_at_[hidden])
Date: 2009-11-18 11:17:31


>
> If you can post your full implementation, I'll run it through GCC and see
> if the error persists, or if there's a nicer way to fix it.
>

In my previous post I've attached the "workaround" code. If you want to
replicate the problem, please substitute the following code in
union_graph.hpp:

   template <typename T1, typename T2>
   bool operator!=( variant<WR1<T1>, WR2<T2> >& left, variant<WR1<T1>,
WR2<T2> >& right )
   {
       return !( left == right );
   }

with my previous version of operator!=()

template <typename Graph1, typename Graph2>
inline bool operator!=(
  const typename boost::graph_traits<
                           boost::union_graph<Graph1, Graph2>
>::edge_descriptor& left,
  const typename boost::graph_traits<
                           boost::union_graph<Graph1, Graph2>
>::edge_descriptor& right )
{
    return !( left == right );
}

Cosimo Calabrese


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk