diff --git a/libs/main/containers/pivector.h b/libs/main/containers/pivector.h index 8a626551..76ffbe3c 100644 --- a/libs/main/containers/pivector.h +++ b/libs/main/containers/pivector.h @@ -191,6 +191,18 @@ public: return true; } inline bool operator !=(const PIVector & t) const {return !(*this == t);} + inline bool operator <(const PIVector & t) const { + if (piv_size != t.piv_size) return piv_size < t.piv_size; + for (size_t i = 0; i < piv_size; ++i) + if ((*this)[i] != t[i]) return (*this)[i] < t[i]; + return false; + } + inline bool operator >(const PIVector & t) const { + if (piv_size != t.piv_size) return piv_size > t.piv_size; + for (size_t i = 0; i < piv_size; ++i) + if ((*this)[i] != t[i]) return (*this)[i] > t[i]; + return false; + } inline bool contains(const T & v) const { for (size_t i = 0; i < piv_size; ++i) if (v == piv_data[i])