Fix ambiguous comparisons error with C++20

This commit is contained in:
Laurent Rineau 2020-06-15 17:07:35 +02:00
parent 1d3c8bbbc9
commit 9d16a42257
2 changed files with 41 additions and 36 deletions

View File

@ -48,6 +48,12 @@ public:
bool operator!=( const Self& i) const {
return !(*this == i);
}
bool operator==( const Iter& i ) const {
return Iter::operator==(i);
}
bool operator!=( const Iter& i) const {
return !(*this == i);
}
Self& operator++() {
Move move;

View File

@ -69,6 +69,41 @@ class Nef_polynomial
CGAL_STATIC_THREAD_LOCAL_VARIABLE(NT, R_, 1);
return R_;
}
friend bool operator==(const Nef_polynomial<NT> &a, const Nef_polynomial<NT> &b)
{
return a.polynomial() == b.polynomial();
}
friend bool operator==(const Nef_polynomial<NT> &a, const NT& b)
{
return a.polynomial() == b;
}
friend bool operator==(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() == b;
}
friend bool operator<(const Nef_polynomial<NT> &a, const Nef_polynomial<NT> &b)
{
return a.polynomial() < b.polynomial();
}
friend bool operator<(const Nef_polynomial<NT> &a, const NT& b)
{
return a.polynomial() < b;
}
friend bool operator<(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() < b;
}
friend bool operator>(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() > b;
}
};
template <class NT>
@ -85,42 +120,6 @@ Nef_polynomial<NT> operator-(const Nef_polynomial<NT> &a)
return - a.polynomial();
}
template <class NT>
inline
bool operator<(const Nef_polynomial<NT> &a, const Nef_polynomial<NT> &b)
{
return a.polynomial() < b.polynomial();
}
template <class NT>
inline
bool operator==(const Nef_polynomial<NT> &a, const Nef_polynomial<NT> &b)
{
return a.polynomial() == b.polynomial();
}
template <class NT>
inline
bool operator==(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() == b;
}
template <class NT>
inline
bool operator<(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() < b;
}
template <class NT>
inline
bool operator>(const Nef_polynomial<NT> &a, int b)
{
return a.polynomial() > b;
}
#undef CGAL_double
#undef CGAL_int