From 1a2e9afaefa006d8f76cea5c262228a1416ed9cf Mon Sep 17 00:00:00 2001 From: peri4 Date: Thu, 12 Aug 2021 21:52:14 +0300 Subject: [PATCH] PIVector compare operators --- libs/main/containers/pivector.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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])