refs #106, moved removeIf from CSequence to CContainerBase and added remove method in CCollection (CSequence already had a remove method)

This commit is contained in:
Mathew Sutcliffe
2014-01-28 18:30:06 +00:00
parent 1e153b45f0
commit d48d8ed951
3 changed files with 30 additions and 21 deletions

View File

@@ -186,6 +186,12 @@ namespace BlackMisc
*/
const_iterator find(const T &value) const { Q_ASSERT(pimpl()); return pimpl()->find(value); }
/*!
* \brief Efficient remove using the find and erase of the implementation container. Typically O(log n).
* \pre The sequence must be initialized.
*/
void remove(const T &object) { auto it = find(object); if (it != end()) { erase(pos); } }
/*!
* \brief Test for equality.
* \todo Improve inefficient implementation.