ptal / expected

What did you expect?
113 stars 18 forks source link

Add PossibleValued equal operation. #65

Closed viboes closed 10 years ago

viboes commented 10 years ago
namespace valued
{
  template <typename PV
      , class = if_pvalued<decay_t<PV>>
      //, class = std::enable_if<is_equality_comparable<value_type<decay_t<PV>>::value>
  >
  BOOST_CONSTEXPR bool equal( const PV& x, const PV& y ) {
      using namespace valued;
      return has_value(x) != has_value(y)
         ? false
         : ( has_value(x) ? deref(x) == deref(y) : true );
  }
}