diff --git a/src/containers/pivector.h b/src/containers/pivector.h index afba8fa9..588e6e16 100755 --- a/src/containers/pivector.h +++ b/src/containers/pivector.h @@ -195,6 +195,8 @@ public: bool operator !=(const PIVector & t) const {if (piv_size != t.piv_size) return true; for (size_t i = 0; i < piv_size; ++i) if (t[i] != piv_data[i]) return true; return false;} bool contains(const T & v) const {for (size_t i = 0; i < piv_size; ++i) if (v == piv_data[i]) return true; return false;} int etries(const T & v) const {int ec = 0; for (size_t i = 0; i < piv_size; ++i) if (v == piv_data[i]) ++ec; return ec;} + ssize_t indexOf(const T & v) const {for (ssize_t i = 0; i < piv_size; ++i) if (v == piv_data[i]) return i; return -1;} + ssize_t lastIndexOf(const T & v) const {for (ssize_t i = piv_size - 1; i >= 0; --i) if (v == piv_data[i]) return i; return -1;} T * data(size_t index = 0) {return &(piv_data[index]);} const T * data(size_t index = 0) const {return &(piv_data[index]);}